2013-04-22 60 views
-1

我注意到我的VBA程序不再工作了,當我使用If語句嘗試設置不同範圍的單元格我的變量cityListRange。基本上,如果單元格「A:20」的內容是「馬尼拉大都會」,我想將cityListRange初始化爲範圍G21:G37(馬尼拉大都會城市列表)。如果不是,那麼它將是另一個列表(G41:G43)(稍後在我的代碼中,它將使用與cityListRange匹配的方法作爲參考)。Excel - VBA:如果語句不工作與「設置範圍= .Range(...)」

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語句的計數器指示?如果是這樣,寫出它的最好方法是什麼?提前致謝 !

+1

什麼是當前'With'範圍? – dotNET 2013-04-22 07:53:55

+0

這是我目前的工作表:設置ws = ThisWorkbook.Sheets(「Feuil2」) 與ws [...] End With。 – Phalanx 2013-04-22 07:57:52

回答

5

該錯誤可能是由於If行中Range之前缺失的時間段所致。

+0

完美,現在似乎工作!非常感謝 ! – Phalanx 2013-04-22 07:59:58

+0

請記住左邊的綠色勾號標記以幫助應答者和未來的訪問者。 – dotNET 2013-04-22 08:01:36

+0

當然,只需要等幾分鐘才能檢查這個答案。祝你有美好的一天! – Phalanx 2013-04-22 08:02:14