教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について説明していきます。

【ExcelVBA プログラミング】(転記7)データを別ブックに転記する方法を教えて!(単純転記)

       f:id:m_kbou:20200420133630p:plain

データを別ブックに単純転記する方法について説明します。今回は転記前ブック及び転記先ブックの両方が開いている事を前提に説明します。

 

【目次】

 

例題

例題は、以下の転記前状態(Book1.xlsxのSheet1のA2セル~A6セルに登録されているデータ)を、転記後状態(Book2.xlsxのSheet1のA2セル~A6セルに転記)にするプログラミング方法です。

[転記前]:

f:id:m_kbou:20200107144716p:plain

[転記後]:

f:id:m_kbou:20200107144727p:plain

 

プログラミング

プログラミングは以下の通りとなります。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    Workbooks("Book2.xlsx").Sheets("Sheet1").Range("A2") = Workbooks("Book1.xlsx").Sheets("Sheet1").Range("A2")
    Workbooks("Book2.xlsx").Sheets("Sheet1").Range("A3") = Workbooks("Book1.xlsx").Sheets("Sheet1").Range("A3")
    Workbooks("Book2.xlsx").Sheets("Sheet1").Range("A4") = Workbooks("Book1.xlsx").Sheets("Sheet1").Range("A4")
    Workbooks("Book2.xlsx").Sheets("Sheet1").Range("A5") = Workbooks("Book1.xlsx").Sheets("Sheet1").Range("A5")
    Workbooks("Book2.xlsx").Sheets("Sheet1").Range("A6") = Workbooks("Book1.xlsx").Sheets("Sheet1").Range("A6")
End Sub

-------------------------------------------------

転記の記述方法は、「=」(イコール)の右側に転記前のブック名及びシート名及びセルを指定し、左側に転記先のブック名及びシート名及びセルを指定します。

ブック名の記述方法は、Workbooks("[ブック名]")とし、シート名の記述方法は、sheets("[シート名]")とし、セルの記述方法はRange("[セル]")となります。ブック名とシート名とセルとの間は「.」(ピリオド)で繋げます。

上から順番に記述内容を説明すると

「最初にBook1.xlsxブックのSheet1シートのA2セルのデータをBook2.xlsxブックのSheet2シートのA2セルに転記します。

次にBook1.xlsxブックのSheet1シートのA3セルのデータをBook2.xlsxブックのSheet2シートのA3セルに転記します。

次にBook1.xlsxブックのSheet1シートのA4セルのデータをBook2.xlsxブックのSheet2シートのA4セルに転記します。

次にBook1.xlsxブックのSheet1シートのA5セルのデータをBook2.xlsxブックのSheet2シートのA5セルに転記します。

次にBook1.xlsxブックのSheet1シートのA6セルのデータをBook2.xlsxブックのSheet2シートのA6セルに転記します。」

との意味になります。

 

ダウンロード

上記サンプルプログラムを使用したい場合は、こちらからダウンロードして下さい。

1drv.ms

 

関連プログラム

www.osiete-excelvba.work

www.osiete-excelvba.work