指定のシートのセルのデータを取得・格納する

今回の目標

  • 指定のシートのセルの値を取得できるようになる
  • 指定のシートのセルへ値を格納できるようになる

説明

事前準備

新規作成より新しくブックを作成し、1シートしかない場合は追加して下さい。

指定のシートのセルの値を取得する

基本構文です。

' 変数bufに指定したシート(今回はSheet1)をセルB1の値を格納する
buf = WorkSheets("Sheet1").Cells( 1, 2)

今回はSheet1のシートを指定しましたが、"Sheet2"にすれば、Sheet2のセルB1から値を取得します。

指定のシートのセルへ値を格納する

基本構文です。

' 指定したシート(今回はSheet2)のセルB1に値[3]を格納する
WorkSheets("Sheet2").Cells( 1, 2) = 3

サンプルのコメントにあるようにSheet2のセルB1に数値"3"を格納しています。Sheet2をSheet3に変更すれば、Sheet3のセルB1に数値"3"を格納します。

指定のシートのセルから指定のシートのセルへ値を格納する

基本構文です。

' Sheet2のセルC2にSheet1のセルB1の値を格納する
WorkSheets("Sheet2").Cells( 2, 3) = WorkSheets("Sheet1").Cells( 1, 2)

Sheet2のセルC2にSheet1のセルB1の値を格納します。参照元のシートと格納先のシートを逆にしてしまうと想定した結果が得られません。

マクロ全体を通して言えることですが、誤ったマクロを実行してしまうと、マクロの仕様でUndo(Ctrl+Z)が効きません。そのため、マクロ実行前の状態まで戻すのは大変な労力を要する場合が多いです。注意してシートを指定しましょう。

シート名でなく、数値でシートを指定する

基本構文です。

' 左から2番目のシートのセルC2に、一番左にあるシートのセルB1の値を格納する
WorkSheets(2).Cells( 2, 3) = WorkSheets(1).Cells( 1, 2)

シート名で無く、数値にすると『左から●(数値)番目のシート』となります。少し特殊な方法ですが、頭の片隅に入れておきましょう。

関連リンク

ページの先頭へ