-1

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 を 1 つだけの範囲に初期化すると、プログラム全体が正常に動作しますが、if ステートメントを追加すると動作が停止し、プログラムの最後に結果が返されません。この場合に If ステートメントを使用することに対する反論があるかどうか知っていますか? もしそうなら、それを書くための最良の方法は何ですか?前もって感謝します !

4

1 に答える 1

5

エラーはRangeIf行の前のピリオドが欠落していることが原因である可能性があります。

于 2013-04-22T07:56:59.223 に答える