› Excel e gli applicativi Microsoft Office › Copiare righe da un foglio all'altro a determinate condizioni
-
AutoreArticoli
-
Buongiorno. Sto cercando di imparare un pò di vba ma sono ai primi passi.
Ecco la mia problematica.
Da un foglio devo copiare ad un altro foglio, nella prima riga libera, alcune determinate righe in base se nella colonna v c'è il valore 1.
Sto cercando di capire alcune macro che ho trovato , qualcuno riesce a rispondere alle note che ho inserito in questa macro?
Sub archivia() Application.ScreenUpdating = False Dim Ws1 As Worksheet Dim Ws2 As Worksheet Set Ws1 = Sheets("PL") 'chiama Ws1 il foglio PL' Set Ws2 = Sheets("DATABASE") 'chiama Ws2 il foglio DATABASE' UR1 = Ws1.Range("d" & Rows.Count).End(xlUp).Row 'Assegna a UR1 il range fino all'ultima riga. Quel "d" cosa vuol dire?' For RR1 = 5 To UR1 ' inizia il ciclo di ricerca dalla riga 5 fino ad UR1' If Ws1.Range("l" & RR1).Value <> "" Then ' Se il valore del range (cosa vuol dire quello tra parentesi) è diverso da "" va al passo successivo' UR2 = Ws2.Range("a" & Rows.Count).End(xlUp).Row + 1 'cerca nel foglio 2 la prima riga vuota Ws1.Range("a" & RR1 & ":m" & RR1).Copy ' seleziona dal foglio 1 la riga dalla colonna a alla colonna m' Ws2.Range("a" & UR2).PasteSpecial Paste:=xlPasteValues ' copia la selezione nel foglio 2 nella prima riga vuota' End If Next RR1 ' esegue un altro ciclo' Application.CutCopyMode = False MsgBox " Archiviato" End SubUR1 = Ws1.Range("d" & Rows.Count).End(xlUp).Row 'Assegna a UR1 il range fino all'ultima riga. Quel "d" cosa vuol dire?'
D è la colonna in pratica del folgio WS1 (folgio PL) prende l'ultima cella della colonna D (range D+numero di righe) e poi sale fino a trovare la prima occupata.
If Ws1.Range("l" & RR1).Value <> "" Then ' Se il valore del range (cosa vuol dire quello tra parentesi) è diverso da "" va al passo successivo'
La variabile RR1 varia da 5 a UR1 per ogni ciclo verifica la cella L e il valore della variabile (al primo ciclo la cella L5 poi L6....)
L'opertaore & serve per concatenare stringhe, ciò che viene immesso tra virgolette viene considerato come stringa
quindi
VarMia=73
VarSec= "Luca" & VarMia
il valore di VarSec sara Luca73
Ciao
Luca
Ciao
Luca
-
AutoreArticoli
