私はコードでGoToを避けるべきであると何度も読んでいますが、私は定期的にループを作成しなければならず、アイテムによって私にエラーが生じた場合、コードは停止します。VBAを避けるには?
以下のケースでは、セルの値を比較する必要がありますが、セルに文字列があるとエラーが発生します。
次のコードのGoToを避ける他のオプションはありますか?
ありがとうございます!この場合
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
適切なエラートラッピング/処理が最適なオプションかもしれません。 –