Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

aggiungere una colonna ad una macro che copia dati

Ultimo Aggiornamento: 23/06/2021 18:14
Post: 56
Registrato il: 30/04/2010
Città: LIVORNO
Età: 34
Utente Junior
2010
OFFLINE
19/06/2021 22:57

Buonasera, ho una macro che copia dei dati da foglio A a Foglio B partendo dall'ultima riga colonna E, il range è da colonna C a colonna AA, adesso avrei la necessità di copiare in più anche i dati di colonna CN saltando però quelli da colonna AB a colonna CM

... cut

For r = wsA.Cells(Rows.Count, 5).End(xlUp).Row To 3 Step -1
'******************************************************************
'OK se in colonna E non ci sono stringhe che contengono nei primi 5 caratteri "paolo "
'******************************************************************
If Left(wsTess.Cells(r, 5), 5) = "paolo" Then
x = wsB.Cells(Rows.Count, 5).End(xlUp).Row + 1
wsB.Range("C" & x & ":AA" & x).Value = wsA.Range("C" & r & ":AA" & r).Value ...... ' & ,range("CN" & x) ..... & range ("CN"& r )

... cut
Grazie
excel 2007
Post: 56
Registrato il: 30/04/2010
Città: LIVORNO
Età: 34
Utente Junior
2010
OFFLINE
20/06/2021 21:39

Buonasera ho risolto, sbagliavo a mettere la parentesi. Grazie

wsB.Range("C" & x & ":AA" & x, "CN" & x).Value = wsA.Range("C" & r & ":AA" & r, "CN" & r).Value
excel 2007
Post: 57
Registrato il: 30/04/2010
Città: LIVORNO
Età: 34
Utente Junior
2010
OFFLINE
20/06/2021 22:31

Scusate credevo di aver risolto, ma o mi copia tutto il range C:CU

wsB.Range("C" & x & ":AA" & x, "CN" & x).Value = wsA.Range("C" & r & ":AA" & r, "CN" & r).Value

oppure copia da colonna C a colonna CU ma in quest'ultima ripete i dati di colonna C,

wsB.Range("C" & x & ":AA" & x & ",CN" & x).Value = wsA.Range("C" & r & ":AA" & r & ",CN" & r).Value
[Modificato da qvlenzi 20/06/2021 23:34]
excel 2007
Post: 58
Registrato il: 30/04/2010
Città: LIVORNO
Età: 34
Utente Junior
2010
OFFLINE
22/06/2021 21:05

Dal pulsante TRASFERISCI dati da Tess a Ex Tess C;AA e AG e AQ e AW e BB e CN, attivo la macro archivioUT che dovrebbe trasferire i dati. Ho provato in tutti i modi, ma l'istruzione non fa quello che vorrei, potreste aiutarmi. Al momento attuale mi copia il contenuto della cella C & x nelle colonne AQ e AW e BB e CN, vorrei che trasferisse invece il contenuto delle stesse da foglio Tess a ExTess, come precedentemente spiegato. E' un problema di sintassi, oppure è l'approccio sbagliato? Grazie.

Sub archivioUT()
Dim r As Long, x As Long
Dim wsA As Worksheet, wsB As Worksheet
'Dim DaEliminare As Long, DaRecuperare As Long
Set wsA = Sheets("__Tesserati__")
Set wsB = Sheets("Ex_Tesserati")
    If ControllaDatiDaElaborare(wsA, "paolo", "eliminare ") = False Then
        Exit Sub
    End If
wsA.Unprotect
wsB.Unprotect
   Application.Calculation = xlManual
    Application.EnableEvents = False
    Application.ScreenUpdating = False
    
For r = wsA.Cells(Rows.Count, 5).End(xlUp).Row To 3 Step -1

'******************************************************************
'OK se in colonna E non ci sono stringhe che contengono nei primi 5 caratteri "paolo"
'******************************************************************
    
    If Left(wsA.Cells(r, 5), 5) = "paolo" Then
    
        x = wsB.Cells(Rows.Count, 5).End(xlUp).Row + 1
       
       'wsB.Range("C" & x & ":AA" & x, ("CN" & x)).Value = wsA.Range("C" & r & ":AA" & r, ("CN" & r)).Value ' copia range C:AA & CN
        wsB.Range("C" & x & ":AA" & x, ("CN" & x)).Value = wsA.Range("C" & r & ":AA" & r, ("CN" & r)).Value ' copia range C:AA & CN

        wsA.Range("C" & r & ":CN" & r & "").ClearContents
    End If
Next
Set wsA = Nothing
Set wsB = Nothing
End Sub
[Modificato da qvlenzi 23/06/2021 11:57]
excel 2007
Post: 1.416
Registrato il: 27/06/2011
Utente Veteran
excel 2007
OFFLINE
23/06/2021 11:52

ciao a tutti,
ciao qvlenzi,

prova l'allegato, mi sembra faccia quello che ha chiesto, anche se non mi sembrava particolarmente difficoltoso


ciao
Frank







Stretta la foglia, larga la via, dite la vostra che ho detto la mia.
Excel 2007 forse anche 2013 ... 2021 ... 365 e future...
Post: 59
Registrato il: 30/04/2010
Città: LIVORNO
Età: 34
Utente Junior
2010
OFFLINE
23/06/2021 18:14

Grazie tanimon adattata la macro alle mi esigenze, funziona tutto.
 wsB.Range("C" & x & ":AA" & x).Value = wsA.Range("C" & r & ":AA" & r).Value

'=========================================================
Set wsA_rng = wsA.Range("AG" & r)
Set wsB_rng = wsB.Range("AG" & x)
wsB_rng = wsA_rng

Set wsA_rng = wsA.Range("AQ" & r)
Set wsB_rng = wsB.Range("AQ" & x)
wsB_rng = wsA_rng

Set wsA_rng = wsA.Range("AW" & r)
Set wsB_rng = wsB.Range("AW" & x)
wsB_rng = wsA_rng

Set wsA_rng = wsA.Range("BB" & r)
Set wsB_rng = wsB.Range("BB" & x)
wsB_rng = wsA_rng

Set wsA_rng = wsA.Range("CN" & r)
Set wsB_rng = wsB.Range("CN" & x)
wsB_rng = wsA_rng

'==================================================================00
excel 2007
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 02:51. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com