我试过这个,但if / elseif语句一直有问题。我不确定这有什么问题...感谢您的帮助!
Private Sub CommandButton1_Click()
Dim i As Long
Dim j As Long
For i = 3 To 13 Step 3
For j = 2 To 4
Set curcell = Worksheets("Sheet 1").Cells(i, j)
If curcell.Value < 0.1 Then curcell.Interior.ColorIndex = 6
ElseIf curcell.Value >= 0.1 And curcell.Value < 0.3 Then curcell.Interior.ColorIndex = 7
End If
Next j
Next i
End Sub
答案 0 :(得分:1)
如评论所述,这是您编写 If子句:
的方式Private Sub CommandButton1_Click()
Dim i As Long
Dim j As Long, curcell As Range
For i = 3 To 13 Step 3
For j = 2 To 4
Set curcell = Worksheets("Sheet 1").Cells(i, j)
If curcell.Value < 0.1 Then
curcell.Interior.ColorIndex = 6
ElseIf curcell.Value >= 0.1 And curcell.Value < 0.3 Then
curcell.Interior.ColorIndex = 7
End If
Next j
Next i
End Sub
注意区别:
If curcell.Value < 0.1 Then curcell.Interior.ColorIndex = 6
以上行是一个自终止的单行 If Statement 所以在线下:
ElseIf curcell.Value >= 0.1 And curcell.Value < 0.3 Then curcell.Interior.ColorIndex = 7
会产生编译错误,因为它不像 ElseIf 而没有 If 。
因此,如果下一个 End If ,因为在第一个条件中使用了单行 If ,因此不需要终止或结束现有 If 。
我不知道这是否符合您的要求,但我刚刚更正了 If构造。
HTH。