2017-09-12 3 views
2

J'ai une macro qui copie les cellules dans les cellules ci-dessous.VBA - copier les lignes - s'il a trouvé une erreur, continuer dans les cellules de la copie

Sub CopyRows2() 

Dim LastRow As Long 

With Worksheets("Ready to upload") ' <-- here should be the Sheet's name 
    LastRow = .Cells(.Rows.Count, "AD").End(xlUp).Row ' last row in column C 

For i = 2 To LastRow 
If Range("AD" & i) > "" And Range("AD" & i + 1) = "" Then 
    Range("AD" & i).Copy 
    Range("AD" & i + 1).PasteSpecial xlPasteValues 
    Application.CutCopyMode = False 

Else 

    End If 
Next 

End With 

ActiveWindow.ScrollRow = 1 'scrolling the screen to the top 

End Sub 

Il fonctionne très bien, jusqu'à ce qu'il se trouve #N/A, il me donnera un msg d'erreur: Erreur d'exécution '13' - incompatibilité de type. Dans ce cas, je voudrais l'ignorer et continuer dans les lignes de copie.

[enter image description here

Pourriez-vous me conseiller, comment faire cela, s'il vous plaît?

Merci beaucoup!

+1

Conseil: (non liée à l'erreur): Vous devez utiliser '.Range' au lieu de' Range' autre que vous accédez à la feuille active et non la feuille de la déclaration 'With' – FunThomas

+0

Oui, vous avez raison! Il m'a montré une erreur msg et je ne savais pas pourquoi et c'était le déclencheur. J'ai accidentellement enlevé ces points :). – Srpic

Répondre

3

Option 1

La meilleure façon est d'intégrer On Error Resume Next dans votre code. Alors ça va marcher.


Option 2 Si vous voulez être un pas plus professionnel, vous pouvez utiliser quelque chose comme ceci:

Sub CopyRows2() 

    Dim LastRow As Long 

    On Error Resume Next 

    'your code 

    If Err.Number = 13 Then Err.Clear 
    On Error GoTo 0 

End Sub 

Il ne tient pas compte d'erreur 13, mais il vous dira s'il sont d'autres erreurs, ce qui est très utile.


Option 3 Vérifiez d'erreur comme ceci:

If Not IsError(Range("AD" & i)) And Not IsError(Range("AD" & i + 1)) Then 
    'embed the code here 
End If 
+0

Merci beaucoup pour votre aide! @Vityata – Srpic

+0

@Srpic - vous êtes les bienvenus :) – Vityata