大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAを使って、別シートや別ブックに転記したい場合は、「Worksheets」や「Workbooks」を使います。「Worksheets」や「Workbooks」を省略した場合は、「ActiveSheet」や「ActiveWorkbook」になります。別シートや別ブックに転記する方法について、マスターしていきましょう。

はじめに

この記事では、別シートや別ブックに転記する方法について、ご紹介します。

別シートに転記したい場合は、「WorkSheets」を使います。

省略して「Sheets」でもできます。

別ブックに転記したい場合は、「Workbooks」を使います。

「Worksheets」や「Workbooks」を省略した場合は、「ActiveSheet」や「ActiveWorkbook」になります。

別シートや別ブックに転記する方法について、マスターしていきましょう。

では、別シートや別ブックに転記する方法について、解説していきます。

この記事を読むメリット

  • 別シートや別ブックに転記する方法がわかります。

本記事の内容を動画でまとめています

本記事の内容を動画にて解説しております。

VBAコードの作成手順について、動画で確認できます。

目次から見たい項目へ移動すると便利ですよ。

目次

同じシートに値を転記

まずは、同じシートに値を転記してみます。

値を転記

値を転記するVBAコードは、次のようになります。

Sub TEST1()
  
  '同じシートに転記
  Range("A3") = Range("A1")
  
End Sub

では、実行してみます。

同じシートに値を転記

同じシートに値を転記します。

同じシートに値を転記します

実行すると、同じシートに値を転記できます。

同じシートに値を転記できました

同じシートに値を転記できました。

ActiveSheetと同じ

先ほどとのVBAコードは、シートオブジェクトが省略されていますので、「ActiveSheet」と同じ意味になります。

次のVBAコードと同じです。

Sub TEST2()
  
  '同じシートに転記
  ActiveSheet.Range("A3") = ActiveSheet.Range("A1")
  
End Sub

VBAコードを実行してみます。

同じシートに値を転記

同じシートに値を転記します。

同じシートに値を転記します

同じシートに値を転記できます。

同じシートに値を転記できました

同じシートに値を転記できました。

という感じで、シートオブジェクトを省略した場合は、「ActiveSheet」と同じ意味になります。

別シートに値を転記

次は、別シートに値を転記してみます。

Worksheetsを使う

別シートに値を転記したい場合は、「Worksheets」を使います。

別シートに値を転記するVBAコードです。

Sub TEST3()
  
  '別シートに転記
  Worksheets("Sheet2").Range("A3") = Worksheets("Sheet1").Range("A1")
  
End Sub

では、VBAコードを実行してみます。

別シートに値を転記

別シートに値を転記します。

別シートに値を転記します

別シートに値を転記できます。

別シートに値を転記できました

別シートに値を転記できました。

Sheetsを使う

「Worksheets」は省略して、「Sheets」とすることもできます。

VBAコードは、次のようになります。

Sub TEST4()
  
  '別シートに転記
  Sheets("Sheet2").Range("A3") = Sheets("Sheet1").Range("A1")
  
End Sub

では、実行してみます。

別シートに値を転記

別シートに値を転記します。

別シートに値を転記します

別シートに値を転記できます。

別シートに値を転記できました

別シートに値を転記できました。

「Sheets」の方がシンプルです。

別ブックに値を転記

別ブックに値を転記してみます。

別ブックに転記をする際は、「別ブックを開いている」のが条件になります。

では、実際にやってみます。

Workbooksを使う

別ブックに転記したい場合は、「Workbooks」を使います。

「Workbooks」の中に、「ブック名」を入力します。

別ブックに値を転記するVBAコードです。

Sub TEST5()
  
  '別ブックに転記
  Workbooks("別ブック.xlsx").Sheets("Sheet1").Range("A3") = Workbooks("TEST.xlsm").Sheets("Sheet1").Range("A1")
  
End Sub

では、実行してみます。

別ブックに値を転記

別ブックに値を転記します。

別ブックに値を転記します

別ブックに値を転記できます。

別ブックに値を転記できました

別ブックに値を転記できました。

作業しているブックはThisWorkbookを使う

作業しているブックを指定する場合は、「ThisWorkbook」を使った方が簡単です。

VBAコードは、次のようになります。

Sub TEST6()
  
  '別ブックに転記
  Workbooks("別ブック.xlsx").Sheets("Sheet1").Range("A3") = ThisWorkbook.Sheets("Sheet1").Range("A1")
  
End Sub

では、実行してみます。

別ブックに値を転記

別ブックに値を転記します。

別ブックに値を転記します

別ブックに値を転記できます。

別ブックに値を転記できました

別ブックに値を転記できました。

こんな感じで、作業しているブックを指定する場合は、「ThisWorkbook」がシンプルです。

変数を使う

ブックオブジェクトとシートオブジェクトを、オブジェクトとして「変数」に入力することで、VBAコードを短くすることができます。

VBAコードは、次のようになります。

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

別ブックを開いた場合は、別ブックが「アクティブ」になるので、「ActiveWorkbook」を使って、別ブックを指定した方が簡単です。

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

では、実行してみます。

別ブックを開いて転記したあと、保存して閉じる

別ブックを閉じた状態で実行します。

別ブックを閉じた状態で実行します

別ブックを開いて値を転記したあと、保存して閉じます。

別ブックを開いて値を転記したあと、保存して閉じます

これで、別ブックに値を転記できます。

別ブックを開いて確認してみます。

別ブックを開いて確認

別ブックに値を転記できました

別ブックに値を転記できました。

おわりに

この記事では、別シートや別ブックに転記する方法について、ご紹介しました。

別シートに転記したい場合は、「WorkSheets」を使います。

省略して「Sheets」でもできます。

別ブックに転記したい場合は、「Workbooks」を使います。

「Worksheets」や「Workbooks」を省略した場合は、「ActiveSheet」や「ActiveWorkbook」になります。

別シートや別ブックに転記する方法について、マスターしていきましょう。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

サイト内を検索する

↓キーワードを入力する

アーカイブから探す