プロが教える店舗&オフィスのセキュリティ対策術

【やりたい事】
下記、画像1のA2:C4 を、画像2の赤枠に転記する マクロを作りたいです
ご存じの方、宜しくお願いします


【条件】
・画像1と画像2の表のサイズは全く同じ
・画像1と画像2の表にあるデータの数は常に変化
・イメージは、画像1のデータを全て、画像2のデータの下にコピペしたいです
・貼付方法は出来れば、値 貼付です。出来なければ普通のコピペにてOKです
・転記先のファイル名は、変更になる事が多い為、以下のマクロコードのように
 ファイル名・シート名を、転記元ブックのA3とA5から取得したいです。
⇒転記元のブックに、ファイル名・シート名が書いてあるという意味です


【転記元ファイル。画像1】
C:\Users\2020\OneDrive\マクロ\転記元.xlsx


【転記先ファイル。雅俗2】
C:\Users\2020\OneDrive\マクロ\転記先\転記先.xlsx



【参考マクロ:1行だけを別ブックへの最終行へ転記するマクロ】

Sub 別ブックへ転記ファイル名変更()


Dim ws1 As Worksheet
Dim wb2 As Workbook
Dim ws2 As Worksheet


Dim maxrow2 As Long
Dim row2 As Long


Set ws1 = Worksheets("転記元")


Set wb2 = Workbooks.Open(ws1.Range("A3").Value)
Set ws2 = wb2.Worksheets(ws1.Range("A5").Value)

maxrow2 = ws2.Cells(Rows.Count, "A").End(xlUp).Row
row2 = maxrow2 + 1

ws2.Cells(row2, 1).Resize(1, 3).Value = ws1.Cells(1, 1).Resize(1, 3).Value


End Sub

「【マクロ】その時、その時で変わる範囲を、」の質問画像

A 回答 (3件)

>●以下コードがデバック(黄色)となります


>教えて頂けるて頂けると幸いです

>Set ws3 = Worksheets(ws1.Range("A5").Value)

これは、転送元のシート名で、A5からA6に変更になったので
Set ws3 = Worksheets(ws1.Range("A6").Value)
になります。
    • good
    • 0

以下のようにしてください。


転記元のシート名もA5の内容を使用しています。
(転記元のシート名と転記先のシート名は同じになります)

Sub 別ブックへ転記ファイル名変更()
Dim ws1 As Worksheet
Dim wb2 As Workbook
Dim ws2 As Worksheet
Dim ws3 As Worksheet
Dim maxrow2 As Long
Dim maxrow3 As Long
Dim row3_count As Long
Dim row2 As Long
Set ws1 = Worksheets("転記元")
Set ws3 = Worksheets(ws1.Range("A5").Value)
maxrow3 = ws3.Cells(Rows.Count, "A").End(xlUp).Row
If maxrow3 < 2 Then Exit Sub
row3_count = maxrow3 - 1
Set wb2 = Workbooks.Open(ws1.Range("A3").Value)
Set ws2 = wb2.Worksheets(ws1.Range("A5").Value)
maxrow2 = ws2.Cells(Rows.Count, "A").End(xlUp).Row
row2 = maxrow2 + 1
ws2.Cells(row2, 1).Resize(row3_count, 3).Value = ws3.Cells(2, 1).Resize(row3_count, 3).Value
wb2.Save
wb2.Close
MsgBox ("完了")
End Sub
    • good
    • 0
この回答へのお礼

ご教授ありがとうございます
●以下コードがデバック(黄色)となります
教えて頂けるて頂けると幸いです

Set ws3 = Worksheets(ws1.Range("A5").Value)

●以下を自分がトンチンカンでしたので、修正いたします
ファイル名・シート名を、転記元ブックのA3とA5から取得したいです。
⇒ファイル名・シート名を、転記元ブックのA5とA6から取得したいです。

転記元ブック・転記元シート A5入力文字列⇒ 転記先
転記元ブック・転記元シート A6入力文字列⇒ 転記先シート

参考
転記元情報
C:\Users\2020\OneDrive\マクロ\転記元.xlsm
シート名 転記元

転記先情報
C:\Users\2020\OneDrive\マクロ\転記先\転記先.xlsx
シート名 転記先シート

お礼日時:2024/05/12 10:26

マクロは、転記元ファイル、転記先ファイル、以外のファイルに格納するのでしょうか。


そうであれば、転記元ファイルをオープンする必要があると思いますが、いかがでしょうか。
そうではなく、転記元ファイルに格納するということであれば、
転記元ファイルの拡張子が.xlsmにならないといけません。
    • good
    • 0
この回答へのお礼

マクロは、転記もとファイルに格納します

確かに、拡張子が違いますね
ご指摘、ありがとうございます

お礼日時:2024/05/11 18:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A