如果还有其他错误

如果还有其他问题,我正在尝试做另外一个。 但是,如果没有,我一直在给我错误的Else。 我有一个如果有,但如何来VBA没有看到它?

a = Sheet1.ComboBox1.value If unit <> a Then If a = "mils" Then Set cx = Sheet9.range("E2", Sheet9.range("E2").End(xlDown)) For Each rng In cx rng.value = rng.value * y Else Set cx = Sheet9.range("E2", Sheet9.range("E2").End(xlDown)) For Each rng In cx rng.value = rng.value / y End If End If 

你错过了Next一个For ,这使得IFFor块交错。

 a = Sheet1.ComboBox1.value If unit <> a Then If a = "mils" Then Set cx = Sheet9.range("E2", Sheet9.range("E2").End(xlDown)) For Each rng In cx rng.value = rng.value * y Next ' <------------------------------ Missing Else Set cx = Sheet9.range("E2", Sheet9.range("E2").End(xlDown)) For Each rng In cx rng.value = rng.value / y Next ' <------------------------------- Missing End If End If 

您需要使用“Next rng”closures“For Each”块,即:

 a = Sheet1.ComboBox1.Value If unit <> a Then If a = "mils" Then Set cx = Sheet9.Range("E2", Sheet9.Range("E2").End(xlDown)) For Each Rng In cx Rng.Value = Rng.Value * y Next Rng Else Set cx = Sheet9.Range("E2", Sheet9.Range("E2").End(xlDown)) For Each Rng In cx Rng.Value = Rng.Value / y Next Rng End If End If 

这是您for each语句的语法错误

以下是VBA中For Each循环的语法:

 For Each element In Group [statement 1] [statement 2] .... [statement n] [Exit For] [statement 11] [statement 22] Next //you are missing this line in your coding