如果/ Elseif语句在我将其添加到循环中时仍然出错

时间:2014-07-17 01:57:13

标签: vba excel-vba excel

我试过这个,但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

1 个答案:

答案 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。