[英]Excel - VBA : If statement not working with “Set Range = .Range(…) ”
我注意到當我使用If語句嘗試為變量cityListRange設置不同范圍的單元格時,我的VBA程序不再起作用。 基本上,如果單元格“ A:20”的內容為“馬尼拉大都會”,我想將cityListRange初始化為范圍G21:G37(馬尼拉大都會的城市列表)。 如果不是,那么它將是另一個列表(G41:G43)(在我的代碼中稍后,它使用以cityListRange為參考的match方法)。
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語句是否有相反的指示? 如果是這樣,最好的寫法是什么? 提前致謝 !
該錯誤可能是由於If
行中Range
之前缺少時間段所致。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.