• ベストアンサー

Excel2007 マクロ 複数シートの作成

Excel2007 マクロ 複数シートの作成 2つのファイルを使用します。 AファイルにBファイルの情報を反映して、会社ごとにシートを作成します。 AファイルとBファイルの画像を添付します。 どのようなマクロを作成すればよいのか教えてください。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.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

hyogara777
質問者

お礼

詳細なご回答ありがとうございます。内容を確認させて頂き、応用したいと思います。回答に感謝いたします。

その他の回答 (2)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.2

現時点で、できることがあると思う。 例えば マクロの記録で Bファイルの2シート目にA3からC3をコピーして貼付け、3シート目にA4からC4、と繰り返して、一旦終了。 後はどの行まで繰り返しやるのかとAファイルへシート分けて保存する部分になる。回答等ヒントに考える。

hyogara777
質問者

お礼

アドバイスありがとうございます。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

qa6036582の続きでしょうか? でも、今回のご質問と画像だけでは何がしたいのかさっぱりわかりません。 もっと具体的に書いてください。

hyogara777
質問者

補足

質問の内容が足りず大変申し訳ございません。 Bファイルの情報をAファイルに反映します。 例えばAファイルのsheet1にBファイルのNo.1の情報が入ります。 A列 B列 No  1 会社名 ○○商事 担当者 佐藤 次のsheet2には下記情報が入ります A列 B列 No  2 会社名 ○○工業 担当者 鈴木 このようにAファイルに複数シートを作成していきたいと考えています。 よろしくお願いいたします。

関連するQ&A