我注意到当我使用If语句尝试将不同范围的单元格设置为变量cityListRange时,我的VBA程序不再起作用了。基本上,如果单元格“A:20”的内容是“Metro Manila”,我想将cityListRange初始化为G21:G37(马尼拉大都会的城市列表)。如果没有,那么它将是另一个列表(G41:G43)(稍后在我的代码中它使用带有cityListRange的匹配方法作为参考)。
Set ws = ThisWorkbook.Sheets("Feuil2")
With ws
If Range("A20").Value = "Metro Manila" Then
Set cityListRange = .Range("G21:G37") 'list of cities to compare to (IN METRO MANILA)
Else
Set cityListRange = .Range("G41:G43") 'list of cities to compare to (IN PROVINCE)
End If
End With
当我将cityListRange初始化为一个且只有一个范围时,我的整个程序运行正常,但是当我添加我的if语句时,它停止工作,并且在程序结束时没有返回结果。 你知道在这种情况下是否有使用If语句的反指示?如果是这样,最好的写作方式是什么?提前谢谢!
答案 0 :(得分:5)
错误可能是由于Range
行中If
之前的丢失时段造成的。