ho realizzato una macro che ha lo scopo di copiare ed incollare dei dati da una pagina ad un altra.
Nella prima Pagina (Sorgente) ho una tabella che con i dati che iniza dalla colonna "B", mentre nella colonna A c'è un campo Yes /No che indica se quel rigo deve essere copiato ed incollato
La macro relalizzata scorre la tabella dal rigo 2 (dove inizia) fino all'ultimo rigo compilato (facendo una verifica sulla colonna B), poi in base al valore della colonna A, copia ed incolla nella pagina di destinazione. Se il campo della Colonna 4 è vuoto da un messaggio di errore indicando il rigo della tabella
Dato che la tabella di origine sarà potenzialmente grossa (1000 riche è piu), come posso fare per mettere un messaggio di errore finale con la somma di tutte le righe con errore ?
PS ho usato union perche i dati da copiare sono su colonne diverse
Grazie (allego la sub)
- Codice: Seleziona tutto
Sub CreaLista()
Dim Riga, FineRiga, Contatore As Integer
Set Origine = Sheets("Sorgente")
Set Destinazione = Sheets("FoglioBianco")
Contatore = 1
Y = 1
Origine.Select
FineRiga = Cells(Rows.Count, 2).End(xlUp).Row - 2
For Riga = 0 To FineRiga
Origine.Select
If Cells(2 + Riga, 1).Value = "Yes" Then
Set UnioneColonne = Union(Range(Cells(2 + Riga, 2), Cells(2 + Riga, 3)), Range(Cells(2 + Riga, 6), Cells(2 + Riga, 8)), Range(Cells(2 + Riga, 10), Cells(2 + Riga, 14)))
UnioneColonne.Copy
Destinazione.Cells(1 + Y, 2).PasteSpecial
Y = Y + 1
ElseIf Cells(2 + Riga, 1).Value = "No" Then
GoTo Line1
Else
MsgBox "Errore al rigo " & Riga + 1 'Messaggio di errore o fine macro
End If
Line1:
Next Riga
End Sub
questa è la tabella di partenza