使用IF条件时获取错误消息

时间:2016-09-21 06:31:08

标签: vba excel-vba excel

我正在使用IF条件,但是给了我编译错误"否则没有IF"     我想右循环语句,所以它将计算公式直到显示单元格

With Range("K3:K" & LR)
LR = Worksheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row

With .Resize(.Rows.Count - 1, .Columns.Count).Offset(2, 0)


If Range("K" & LR).Value = "No" Then
With .Resize(.Rows.Count - 1, .Columns.Count).Offset(2, 0)
With Range("L3:L" & LR)
Sheets("Sheet1").Range("L3" & LR).FormulaR1C1 = ""

ElseIf Range("K" & LR).Value = "Yes" Then

With .Resize(.Rows.Count - 1, .Columns.Count).Offset(2, 0)
With Range("L3:L" & LR)
Sheets("Sheet1").Range("L3" & LR).FormulaR1C1 = "=RC[-2]*0.25%"

Else

Return




End With
 End With
  End If
   End With
    End With

请帮忙解决这个问题

1 个答案:

答案 0 :(得分:5)

你不能交错块。

以下代码会生成End If without If block错误:

If True Then
    With Range("A1")
End If
    End With

以下代码会生成End With without With block错误:

With Range("A1")
    If True Then
End With
    End If

使用这样的代码:

With Range("A1")
    If True Then
    End If
End With

If True Then
    With Range("A1")
    End With
End If

如arcadeprecinc所述,适当缩进代码会显示问题。