今までは1つのシートの中だけで作業をしてきました。
しかし、参考にするデータはシートにあるんだよ。ということがほとんどです。
エクセルは複数枚シートを作成することができます。
Sheet1にはまとめ情報を、Sheet2には収集データをと分けて使っているはずです。
今回したいのはまとめシート:Sheet1にデータシート:Sheet2のデータをコピーしてみましょう。
サンプルダウンロード
実際の動きを見るのが一番です。
ダウンロードをして、ボタンをクリックするだけの簡単サンプルを用意しています。
Worksheets(“”)を使って別シートを指定する
セルにも名前(例:A1、Z12)があるように、シートにも名前があります。
シート名を指定してやれば、そのシートを参照・操作ができるようになるわけです。
シートを指定するときはWorksheets(“”)を使います。
——————プログラム構文——————
Worksheets(“シート名“).Range(“範囲“)
——————————————————
【解説】
シート名を入れて、そのシート内の指定したいセル範囲を指定します。
ちなみにセル範囲指定はCellsでも可能です。
——————実例プログラム——————
Worksheets(“Sheet1”).Range(“A1:A7”)
——————————————————
実例を見ながら
sheet2のデータをsheet1にコピペしてみましょう。
——————プログラム——————
Worksheets(“sheet1”).Range(“A1:A7”).Copy —①
WorksSheets(“sheet2”).Range(“B2”).Select —②
ActiveSheet.Paste —③
————————————————
【解説】
①Sheet1のA1~A7をコピーします。
②Sheet2のコピーしたい開始位置B2を指定します。
③コピペ実行
要約すると、シート名を明記してコピー&ペーストの処理をしただけです。
※コピペの省略した書き方の紹介
3行もコピペに使うのは行がもったいない!と思ったら、
Worksheets(“sheet1“).Range(“A1:A7”).Copy Sheets(“sheet2”).Range(“B2”)
と書いても上に紹介したものと同じ動作をします。
1行でかけたほうが、ラクですよね?
このようなテクニックはたくさんあるので、分かってくると面白いですよ。
徐々に取り入れていきましょう。
まとめ
別シートを操作するときはシート名の記載が加わえるだけ。
指定さえできればプロパティを変更するなり、メソッドで操作するなり処理を追加できます。
コンピュータには丁寧に場所を指定してあげないと伝わらないことを覚えておきましょう。
人間なら、アッチとかソッチとか阿吽の呼吸的な指示でも可能ですがコンピュータは言われたことを素直に理解するようになっています。
ですので、全角や半角、スペースなども間違えないように注意しましょう。