“如果/然后”声明不起作用

时间:2017-05-05 01:02:08

标签: excel vba excel-vba if-statement

我正在尝试执行If语句,这样,如果变量的值等于"Mils",它将执行所述的函数。但目前还没有发生任何事情。

我做错了什么?

z = Sheet2.range("B20").value
If z = "Mils" Then
    Set cx = Sheet8.range("D3", Sheet8.range("D3").End(xlDown))
    For Each rng In cx
        rng.value = rng.value / y
    Next rng
    Set cy = Sheet8.range("E3", Sheet8.range("E3").End(xlDown))
    For Each rngy In cy
        rngy.value = rngy.value / y
    Next rngy
End If 

1 个答案:

答案 0 :(得分:1)

从我正在阅读的内容来看,您的程序可能会忽略您的一些说明。

试试这个问题解决方法:

1)将光标悬停在上方并单击代码。

If z = "Mils" Then

2)单击F9在该行上添加标记

3)逐步单击F8键(此键的作用是运行程序直到该代码。所以它基本上显示了程序的流程。)

4)检查F8是否跳过了以下任何代码:

If z = "Mils" Then
    Set cx = Sheet8.range("D3", Sheet8.range("D3").End(xlDown))
    For Each rng In cx
        rng.value = rng.value / y
    Next rng
    Set cy = Sheet8.range("E3", Sheet8.range("E3").End(xlDown))
    For Each rngy In cy
        rngy.value = rngy.value / y
    Next rngy
End If 

如果它跳过任何步骤,那么您应该查看跳过的步骤并进行必要的调整。