• ベストアンサー

エクセル 複数のファイルに1行挿入

エクセル2010についてです。 複数のエクセルファイルの一行目に、文字を含んだ行を挿入したいです。 この場合、どのような方法(プログラミング含む)があるのでしょうか? よろしくお願いいたします。

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

  • ベストアンサー
回答No.3

'指定されたフォルダ内の全ファイル(ブック)を対象に、マクロ作業シートの先頭から指定された行数のデータをコピーする。 '対象シートの名前は固定(変更可能) 'Sub InsertHeaderEachBooks() Sub InsertHeaderEachBooks() Const xDefaultPath = "D:\tmp" Const xFileSelector = "\*.*xls*" Const xSheetName = "Sheet1" Const xTarget = "Sheet1" Dim xFolderPath As Variant Dim xFileName As String Dim xSheet As Worksheet Dim xNoBook As Boolean Dim xNoSheet As Boolean Dim xShell As Variant Dim xSh As Worksheet Dim xLast As Long Application.ScreenUpdating = False Application.DisplayAlerts = False xNoBook = True Set xSh = ThisWorkbook.Worksheets(xSheetName) Set xShell = CreateObject("Shell.Application") Set xFolderPath = xShell.BrowseForFolder(&O0, "データ(ブック)が存在するフォルダを選択, Please!!", &H1 + &H10, xDefaultPath) If xFolderPath Is Nothing Then Exit Sub xFileName = Dir(xFolderPath.Items.Item.Path & xFileSelector, vbNormal) Do Until xFileName = Empty If xFileName = ThisWorkbook.Name Then GoTo NextDir xNoBook = False Workbooks.Open xFolderPath.Items.Item.Path & "\" & xFileName xNoSheet = True For Each xSheet In Worksheets If xSheet.Name = xTarget Then xSh.Rows(1).Copy xSheet.Rows(1).Insert xNoSheet = False Exit For End If Next xSheet If xNoSheet = True Then MsgBox ("No Sheet Found!! :" & xFileName) Workbooks(xFileName).Close False Else Workbooks(xFileName).Close SaveChanges:=True End If NextDir: xFileName = Dir() Loop If xNoBook = True Then MsgBox ("No Book Found!!") End If Epilogue: Application.CutCopyMode = False Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub

その他の回答 (2)

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.2

(1)挿入したいブックを開く    1行目に行挿入する    含む文字を入力する    (必要なら罫線を引く)    保存して閉じる    次のブックを開く    ~以下繰り返し~ (2)新規ブックに1行目を作っておく    挿入したいブックを開く※    新規ブックの1行目をコピー    挿入したいブックに行挿入貼り付け    保存して閉じる    次のブックを開く    ~※から繰り返し~ (3)1・2どちらかの方法を選択し、マクロを作成 「方法」を問われると、こう言う回答ですね。 同時に「作成するマクロのヒント」でもありますが。

  • aokii
  • ベストアンサー率23% (5210/22063)
回答No.1

マクロになります。

関連するQ&A