LOOP和嵌套的if语句不起作用

时间:2016-07-21 12:39:06

标签: excel vba excel-vba loops

该代码旨在寻找“OverExtensions”中的“是”,并创建一个新范围并确定新范围的最大值。出于某种原因,代码的逻辑似乎没有问题,但我得到了一个空洞的结果,并且会喜欢社区对我出错的地方的意见。

Private Sub CommandButton1_Click()
Dim maximum As Double, OverExtension As Range, x As Range

Cells.Interior.ColorIndex = 0
Set OverExtension = Range("D2:D12")
maximum = WorksheetFunction.Max(Range("c2:c12"))

For Each x In OverExtension
    If x.Value = Yes Then
        If x.Offset(0, -1).Value = maximum Then
        x.Cells.Interior.ColorIndex = 22
        End If
    End If
Next x

End Sub

1 个答案:

答案 0 :(得分:1)

您以错误的方式嵌套了iffor块。

您必须将第二个End If放在Next PriceNoNext OEResult之间。

更新

您只需要一个End If。第一个是错误的,因为IfThen在一行中。

除了你的OEYesOEResult变量有问题,因为它们已定义但未初始化但由于我不知道你的意图,我也不知道如何解决它。