Excel-VBA

エクセルVBAで別シートにあるデータをコピーする

更新日:

今までは1つのシートの中だけで作業をしてきました。

しかし、参考にするデータはシートにあるんだよ。ということがほとんどです。

エクセルは複数枚シートを作成することができます。

Sheet1にはまとめ情報を、Sheet2には収集データをと分けて使っているはずです。

今回したいのはまとめシート:Sheet1にデータシート:Sheet2のデータをコピーしてみましょう。

 

サンプルダウンロード

実際の動きを見るのが一番です。

ダウンロードをして、ボタンをクリックするだけの簡単サンプルを用意しています。

8_別シートにあるデータをコピーする

 

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行でかけたほうが、ラクですよね?

このようなテクニックはたくさんあるので、分かってくると面白いですよ。

徐々に取り入れていきましょう。

 

まとめ

別シートを操作するときはシート名の記載が加わえるだけ。

指定さえできればプロパティを変更するなり、メソッドで操作するなり処理を追加できます。

 

コンピュータには丁寧に場所を指定してあげないと伝わらないことを覚えておきましょう。

人間なら、アッチとかソッチとか阿吽の呼吸的な指示でも可能ですがコンピュータは言われたことを素直に理解するようになっています。

ですので、全角や半角、スペースなども間違えないように注意しましょう。

おすすめ記事

1

海外では普段お目にかかることが少ない食材に出会います。 楽しみ反面、心配なことのひとつです。   食事だけは毎日摂らないと元気も出ませんし、病気にもかかりやすくなるので重要なことです。 日本 ...

-Excel-VBA
-

Copyright© パターンライフ , 2019 All Rights Reserved.