簡體   English   中英

Excel-VBA:If語句不適用於“ Set Range = .Range(…)”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM