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

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

Click here to visit our sponsor