Condividi:        

Messaggio finale con riepilogo errori

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Messaggio finale con riepilogo errori

Postdi Ale75 » 08/07/22 07:25

Salve,

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
Ale75
Utente Junior
 
Post: 47
Iscritto il: 31/03/17 08:42

Sponsor
 

Re: Messaggio finale con riepilogo errori

Postdi Anthony47 » 08/07/22 11:01

Se la macro per funziona allora interveniamo solo per gestire le segnalazioni, modificando la sezione “Else” e la parte finale prima di End Sub:
Codice: Seleziona tutto
Dim myMess As String, erCnt As Long
'
'
'
'
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
    erCnt = erCnt + 1
    myMess = myMess & Riga + 1 & vbCrLf
'    MsgBox "Errore al rigo " & Riga + 1 'Messaggio di errore o fine macro
End If
Line1:
Next Riga
If erCnt > 0 Then
    MsgBox ("Completato con errori: " & erCnt & vbCrLf & myMess)
Else
    MsgBox ("Completato, senza errori")
End If
End Sub


Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19255
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Messaggio finale con riepilogo errori

Postdi Ale75 » 28/07/22 07:37

grazie mille, risolto !
(mi ero scordato di rispondere)
Ale75
Utente Junior
 
Post: 47
Iscritto il: 31/03/17 08:42


Torna a Applicazioni Office Windows


Topic correlati a "Messaggio finale con riepilogo errori":


Chi c’è in linea

Visitano il forum: Nessuno e 62 ospiti