Sub TEST7()
Dim A, B
Set A = ThisWorkbook.Sheets("Sheet1") '作業しているファイル
Set B = Workbooks("別ブック.xlsx").Sheets("Sheet1") '別ブック
B.Range("A3") = A.Range("A1") '別ブックに転記
End Sub
では、実行してみます。
別ブックに値を転記
別ブックに値を転記します。
別ブックに値を転記できます。
別ブックに値を転記できました。
別ブックを開いて転記
別ブックを開いていない場合は、別ブックを開いてから値を転記するといいです。
別ブックを開いて値を転記するVBAコードです。
Sub TEST8()
'別ブックを開く
Workbooks.Open ThisWorkbook.Path & "\別ブック.xlsx"
'別ブックに転記
Workbooks("別ブック.xlsx").Sheets("Sheet1").Range("A3") = ThisWorkbook.Sheets("Sheet1").Range("A1")
End Sub
Sub TEST9()
'別ブックを開く
Workbooks.Open ThisWorkbook.Path & "\別ブック.xlsx"
'別ブックに転記
ActiveWorkbook.Sheets("Sheet1").Range("A3") = ThisWorkbook.Sheets("Sheet1").Range("A1")
End Sub
「ActiveWorkbook」は、省略することもできます。
Sub TEST10()
'別ブックを開く
Workbooks.Open ThisWorkbook.Path & "\別ブック.xlsx"
'別ブックに転記
Sheets("Sheet1").Range("A3") = ThisWorkbook.Sheets("Sheet1").Range("A1")
End Sub
開いた別ブックをオブジェクトとして変数に入力して、値を転記する場合は次のようになります。
Sub TEST11()
Dim A
'別ブックを開く
Set A = Workbooks.Open(ThisWorkbook.Path & "\別ブック.xlsx")
'別ブックに転記
A.Sheets("Sheet1").Range("A3") = ThisWorkbook.Sheets("Sheet1").Range("A1")
End Sub
上記のVBAコードは、すべて同じ結果になります。
では、実行してみます。
同じ階層に別ブックを保存しておきます。
同じ階層に別ブックを保存
では、実行してみます。
別ブックを開いて転記する
別ブックは閉じた状態で実行します。
別ブックを開いて、別ブックに値を転記できます。
別ブックを開いて、別ブックに値を転記できました。
上書き保存して閉じる
別ブックを開いたあとは、上書き保存して閉じると効率的です。
別ブックを開いて転記したあと、上書き保存して閉じるVBAコードです。
Sub TEST12()
Dim A
'別ブックを開く
Set A = Workbooks.Open(ThisWorkbook.Path & "\別ブック.xlsx")
'別ブックに転記
A.Sheets("Sheet1").Range("A3") = ThisWorkbook.Sheets("Sheet1").Range("A1")
A.Save '上書き保存
A.Close '閉じる
End Sub
変数を使わない場合は、次のようになります。
Sub TEST13()
'別ブックを開く
Workbooks.Open ThisWorkbook.Path & "\別ブック.xlsx"
'別ブックに転記
ActiveWorkbook.Sheets("Sheet1").Range("A3") = ThisWorkbook.Sheets("Sheet1").Range("A1")
ActiveWorkbook.Save '上書き保存
ActiveWorkbook.Close '閉じる
End Sub