-1

我注意到,当我使用 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 语句是否有反指示?如果是这样,最好的写法是什么?提前致谢 !

4

1 回答 1

5

该错误可能是由于RangeIf行之前缺少句点。

于 2013-04-22T07:56:59.223 回答