Ich habe mehrmals gelesen, dass GoTo in Codes vermieden werden sollte, aber ich muss regelmäßig Schleifen erstellen und wenn ein Element mir einen Fehler gibt, wird der Code gestoppt.Wie kann ich VBA vermeiden?
Im folgenden Fall muss ich Zellenwerte vergleichen, aber ich bekomme einen Fehler, wenn ich in der Zelle String gibt.
Haben Sie eine andere Option, um den GoTo für den folgenden Code zu vermeiden?
Danke!
Sub Conditional()
Dim x As Integer
For x = 1 To 31
On Error GoTo na
If Sheets("Sheet1").Cells(8 + x, 5) >= 0.95 Then
Sheets("Sheet2").Shapes("Shape " & x).Fill.ForeColor.RGB = RGB(0, 176, 80)
ElseIf Sheets("Sheet1").Cells(8 + x, 5) < 0.95 Then
Sheets("Sheet2").Shapes("Shape " & x).Fill.ForeColor.RGB = RGB(255, 0, 0)
End If
GoTo nextx
na:
Sheets("Sheet2").Shapes("Shape " & x).Fill.ForeColor.RGB = RGB(0, 0, 0)
On Error GoTo -1
nextx:
Next x
End Sub
Korrekte Fehlerbehandlung/Fehlerbehandlung ist möglicherweise die beste Option. –