Ich Schleife in einem Array und überprüfen Zellenwerte, aber manchmal kann es passieren, dass die Zelle überprüft wird "# DIV/0!", dann bricht mein Makro. Wie man es ändert? Ich habe zwei Dinge ausprobiert, aber keinen positiven Effekt.Select Case Fehler 2007
vRange = Range(Cells(ShiftRow, 4), Cells(ShiftRow - 3, TheLastColumn)).Value
Dim i As Integer
For i = 4 To TheLastColumn
Select Case vRange(4, i)
Case Is = "#DIV/0!"
vRange(1, i) = ""
Case Is = "1"
vRange(1, i) = vRange(3, i)
Case Is = "2"
vRange(1, i) = vRange(3, i - 1)
Case Is = "3"
vRange(1, i) = vRange(3, i - 2)
Case Is = "I"
vRange(1, i) = vRange(3, i)
Case Is = "II"
vRange(1, i) = vRange(3, i - 1)
Case Is = "III"
vRange(1, i) = vRange(3, i - 2)
Case Else
vRange(1, i) = ""
End Select
Next i
Ich habe auch versucht: Case CVErr(xlErrDiv0)
.
können Sie die Werte von 'vRange' im Fenster" Locals "überprüfen? Es scheint, als ob deine Schleife etwas wie "Für i = 1 bis UBound (vRange, 2)" sein sollte? 'Case CVErr (xlErrDiv0)' sollte der richtige Weg sein, also könnte der Fehler etwas anderes sein. – Slai
Was passiert, wenn Sie 'If IsError (vRange (4, i)) und vRange (4, i) =" "' vor Ihrem Select Case? –
@maers. Versuchen Sie die Fehlerabfrage in meiner Antwort unter –