- ベストアンサー
Excel2007 マクロ 複数シートの作成
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
hyogara777さん、ANo1のmerlionXXです。 補足を拝見しました。 誤解があるかもしれませんが、以下の前提で書いてみました。 1.元データのBファイルにVBAを書くものとします。 2.転記先のAファイルは自動生成されるものとします。 3.Bファイルのデータはご提示の画像のレイアウトどおりのアドレスでシート名はSheet1だとします。 4.Bファイルのデータは途中に空白行が無いものとし、A列に連番がふってあるものとします。 Sub test01() Dim ABK As Workbook, BBK As Workbook Dim n As Integer Dim RngO As Range, RngN As Range Dim buf As Boolean Dim ns As Worksheet Set BBK = ThisWorkbook With Application n = .SheetsInNewWorkbook .SheetsInNewWorkbook = 1 Set ABK = Workbooks.Add .SheetsInNewWorkbook = n End With With BBK.Sheets("Sheet1") Set RngO = .Range("A2:C2") Set RngN = .Range("A3:C3") End With Do While RngN.Cells(1).Value <> "" If Not buf Then Set ns = ABK.Worksheets(1) buf = True Else Set ns = ABK.Worksheets.Add(After:=Sheets(Sheets.Count)) End If Union(RngO, RngN).Copy ns.Range("A2").PasteSpecial , Transpose:=True Application.CutCopyMode = False Set RngN = RngN.Offset(1) Loop Set ABK = Nothing Set BBK = Nothing Set RngO = Nothing Set RngN = Nothing Set ns = Nothing End Sub
その他の回答 (2)
- layy
- ベストアンサー率23% (292/1222)
現時点で、できることがあると思う。 例えば マクロの記録で Bファイルの2シート目にA3からC3をコピーして貼付け、3シート目にA4からC4、と繰り返して、一旦終了。 後はどの行まで繰り返しやるのかとAファイルへシート分けて保存する部分になる。回答等ヒントに考える。
お礼
アドバイスありがとうございます。
- merlionXX
- ベストアンサー率48% (1930/4007)
qa6036582の続きでしょうか? でも、今回のご質問と画像だけでは何がしたいのかさっぱりわかりません。 もっと具体的に書いてください。
補足
質問の内容が足りず大変申し訳ございません。 Bファイルの情報をAファイルに反映します。 例えばAファイルのsheet1にBファイルのNo.1の情報が入ります。 A列 B列 No 1 会社名 ○○商事 担当者 佐藤 次のsheet2には下記情報が入ります A列 B列 No 2 会社名 ○○工業 担当者 鈴木 このようにAファイルに複数シートを作成していきたいと考えています。 よろしくお願いいたします。
お礼
詳細なご回答ありがとうございます。内容を確認させて頂き、応用したいと思います。回答に感謝いたします。