エクセルで下記のようなマクロを作りたいですが、どのように書けば良いか分からず例文をいただけると助かります。

エクセルで下記のようなマクロを作りたいですが、どのように書けば良いか分からず例文をいただけると助かります。 ①…データブック 複数ブックあり、ブック名の固定なし、(xlsx) 1シートのみ ②…マクロ実行ブック(ブック名:在庫管理表.xlsm) 在庫管理シート、入出庫シート 2シートあり ①からデータを吸い上げ、②の「入出庫シート」へ反映したいです ①と②は同じフォルダにあり、データブックはフォルダ内から選ぶようにしたい データを吸い上げる度に、②の「入出庫シート」は一番下の行へデータを追加する ①…A~V列にデータが入っていて、行数変動あり 1行目は項目、2行目よりデータ吸い上げ、②の「入出庫シート」7行目へ ②へ反映時に列の入れ替えが必要 ①D2列~ → ②F7列~ ①E2列~ → ②G7列~ ①N2列~ → ②D7列~ ①Q2列~ → ②B7列~ ①S2列~ → ②E7列~ ②へデータ反映後、①は閉じ②を上書き保存 分かりにくいですが、、やりたいことのイメージです。。 宜しくお願いします。

Excel | Visual Basic244閲覧xmlns="http://www.w3.org/2000/svg">50

ベストアンサー

0

出力先はいつも7行目からでいいのですか。 とりあえずその通りにしてあります。 Sub test() Dim sh As Worksheet Dim fname As Variant Dim wb As Workbook Dim r As Long Set sh = ThisWorkbook.Worksheets("入出庫") 'ファイル選択 fname = Application.GetOpenFilename(Title:="処理するファイルを選択してください") If VarType(fname) = vbBoolean Then Exit Sub Application.ScreenUpdating = False Application.DisplayAlerts = False Set wb = Workbooks.Open(fname) With wb.Worksheets(1) r = .Cells(Rows.Count, 4).End(xlUp).Row sh.Range("F7:F" & r + 5).Value = .Range("D2:D" & r).Value sh.Range("G7:G" & r + 5).Value = .Range("E2:E" & r).Value sh.Range("D7:D" & r + 5).Value = .Range("N2:N" & r).Value sh.Range("B7:B" & r + 5).Value = .Range("Q2:Q" & r).Value sh.Range("E7:E" & r + 5).Value = .Range("S2:S" & r).Value End With wb.Close ThisWorkbook.Save Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub

ご回答ありがとうございます。 出力先への貼り付けは7行目からで大丈夫です! こちら実行してみたのですが、最初のファイルの選択は問題なく、最後までマクロは動いたのですが、データの貼り付けがされませんでした。

ThanksImg質問者からのお礼コメント

とても丁寧に教えていただき、助かりました。 ありがとうございました!

お礼日時:9/7 8:59