変数10(ブック、シートの操作:異ブック間 シート間 値変更処理)

サンプルファイルはこちら


Book1 の A シートのC2セルの値を
Book2 の A シートのB7セルに3倍して表示させる

という例を考えましょう。

異ブック間でデータをやりとりするために必要なものは

少なくとも2つのブック と 2つのシート
です。

もっと言うと
元ブックとその元ブックに含まれる元シート と
先ブックとその先ブックに含まれる先シート が必要です。


ですので、プロシージャーを準備するとともに 即座に

Dim wb_1 As Workbook
Dim wb_2 As Workbook
Dim ws1_a As Worksheet
Dim ws2_a As Worksheet
Dim c2 As Integer

Set wb_1 = Workbooks("Book1.xlsm")
Set wb_2 = Workbooks("Book2.xlsm")
Set ws1_a = wb_1.Worksheets("A")
Set ws2_a = wb_2.Worksheets("A")


と 宣言 と Set しています。

宣言が終わればあとは簡単です。
まずは元となるセルの値を取得します。それは前回の記事で扱ったように
c2 = ws1_a.Range(“c2”) と命令すれば 変数c2に代入して使いまわせるようになります。

そして、その移動先に対しては
ws2_a.Range(“a7”) = c2 * 7 と命令することで特定でき、代入できます。