Excel VBA: 別のワークブックにセルの値をコピーする方法
Excel VBA を使用して、別のワークブックにあるセルの値をコピーする方法を学びましょう。具体的には、ワークブック1のA1の値をワークブック2のA2にコピーするプロシージャを作成します。
コード
Sub 違うワークブックにコピー() Dim wb1 As Workbook Dim wb2 As Workbook Dim ws1 As Worksheet Dim ws2 As Worksheet ' ワークブックを指定 Set wb1 = Workbooks("ワークブック1.xlsx") Set wb2 = Workbooks("ワークブック2.xlsx") ' シートを指定 Set ws1 = wb1.Sheets("Sheet1") Set ws2 = wb2.Sheets("Sheet1") ' ワークブック1のA1の値をワークブック2のA2にコピー ws2.Range("A1").Value = ws1.Range("A1").Value End Sub
コードの解説
ワークブックを指定する:
Workbooks
オブジェクトを使用して、特定のワークブックを開きます。ここでは、ワークブック1とワークブック2を指定しています。
シートを指定する:
Sheets
オブジェクトを使用して、特定のシートを選択します。ここでは、両方のワークブックの “Sheet1” を選択しています。
セルの値をコピーする:
Range
オブジェクトを使用して、セルの範囲を指定します。ws1.Range("A1").Value
はワークブック1のA1の値を表し、ws2.Range("A1").Value
はワークブック2のA2の値を表します。
値をコピー:
ws2.Range("A2").Value
にws1.Range("A1").Value
の値を代入することで、ワークブック1のA1の値がワークブック2のA1にコピーされます。
使用例
- このコードを新しいモジュールに貼り付けます。
- ワークブック1とワークブック2を作成または開きます。
- マクロを実行すると、ワークブック1のA1の値がワークブック2のA1にコピーされます。
これで、Excel VBA を使用して別のワークブックにセルの値をコピーする方法がわかりました。ぜひ試してみてください! 😊