我注意到,当我使用 If 语句尝试为变量 cityListRange 设置不同的单元格范围时,我的 VBA 程序不再工作。基本上,如果单元格“A:20”的内容是“马尼拉大都会”,我想将 cityListRange 初始化为 G21:G37 范围(马尼拉大都会的城市列表)。如果不是,那么它将是另一个列表 (G41:G43)(稍后在我的代码中,它使用了 match 方法,并以 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 语句是否有反指示?如果是这样,最好的写法是什么?提前致谢 !