変数で範囲指定して選択するには?

Question 11.3 Previous Next
セルの範囲を指定する時に、Range("B3:E6").Select としていますが、3の部分や、Bの部分に変数を指定することはできないでしょうか。
条件によって、指定する範囲を変えたいのですが。
Answer   Copyright (C) 1998.10.9 永井善王
マクロを自動記録すると、選択した範囲が "B3:E6" のような表現になりますね。他のケースでも同様で、例えば印刷枚数を 2枚と指定すると "2" と記録されます。
そこで、これらの指定を任意に変えたい場合に、変数をどう書けば良いのか知りたくなります。 この「すぐに役立つエクセルVBAマクロ集」の中のあちこちに、使用例が載っています。

例えば、印刷枚数の指定は、MACROの「印刷」のページの
伸縮する表の印刷
    印刷枚数 = 1
    ActiveWindow.SelectedSheets.PrintOut Copies:=印刷枚数
ご質問のケースは、MACROの「コピー」のページの オートフィルターしてコピー
    新シート = "SS2"
        貼付位置 = "A1"
    Sheets(新シート).Select
        Range(貼付位置).PasteSpecial Paste:=xlAll
として載っていますが少々見つけにくいので、 MACROの「範囲選択」のページに 「変数名で範囲指定して選択する」 として掲載しておきました。Rangeは他のケースに比べ、ちょっとややこしい場合があります。見てください。

 

Excel VBA Macro