• ベストアンサー

エクセル 複数のファイルに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/22062)
回答No.1

マクロになります。

関連するQ&A

  • エクセルで複数行挿入

    エクセルで複数行(列)挿入するには、行や列をその数分ドラッグするより他ないのでしょうか?数値を入力するダイアログボックス等ありますか?

  • エクセルで複数行の挿入方法

    エクセルで空行を挿入するときは、「挿入」→「行」で1行だけ 空行が挿入されますが、たとえば10行分いっぺんに挿入する 方法はあるのでしょうか?

  • エクセル2010の行コピーの挿入

    エクセル2010を使っていますが、行のコピーをし、別のファイルにコピーした行の挿入を 行った場合うまく出来ません。  以前の2003の場合はうまく出来ていたような気がしてますが思い違いでしょうか? 何かうまく出来る方法がありますれば教えていただけると幸いです。

  • エクセルの行挿入

    エクセル2003で、1行おきに行を挿入したいのですが、一発できる方法はありますか?100行ほどあるので1行づつ挿入すると時間がかかるので効率の良い方法を教えてください。

  • エクセルで複数行に一度に改ページを挿入する方法

    エクセルで2行ごとに、一気に改ページを挿入する方法があればおしえてください。 全部で50の改ページを挿入しなければならないので、いちいち挿入する行を選択して改ページを入れるのは面倒で。 マクロも考えていますが、マクロ以外で方法はないでしょうか? ためしに、複数行選択して、改ページを挿入してみたら、最後の選択行にしか改ページが入っていませんでした。 2行ごとという規則性があるので、何か方法がありそうですが…。 よろしくお願いします。

  • エクセル複数行を一括で挿入する方法を教えてください

    こんばんは。 エクセルの表、1000行くらいあるのですが 3行毎に2行づつ新しい行を挿入したいのですが、 一括で実行する方法があったら教えてください。 初心者なので、方法を調べているのですが 2行挿入がみつからなくて…。 どなたか教えて下さい。よろしくお願いします。 ○○○ □□□ △△△    ○○○ □□□ △△△  ○○○ □□□ △△△    ○○○ □□□ △△△ ○○○ □□□ △△△    ○○○ □□□ △△△ ○○○ □□□ △△△       ※2行挿入 ○○○ □□□ △△△  → ○○○ □□□ △△△    ○○○ □□□ △△△ ○○○ □□□ △△△    ○○○ □□□ △△△ ○○○ □□□ △△△    ○○○ □□□ △△△ ○○○ □□□ △△△       ※2行挿入 ○○○ □□□ △△△ ○○○ □□□ △△△    ○○○ □□□ △△△ ○○○ □□□ △△△    ○○○ □□□ △△△ ○○○ □□□ △△△    ○○○ □□□ △△△

  • エクセルの行挿入について

    エクセルで、すでに300行ほどのデータが入っていますが、その1行1行にもう一行挿入しなければならないのです。F4キーを使ってする方法以外、一発で、挿入できる方法を教えてください。宜しくお願いします。

  • エクセルで行の挿入などだんだん動作が遅くなってきます。

    大きなエクセルファイルを開いています(2Mほど)。 そのファイルを開いてすぐの状態だと、行の挿入を行っても ほとんど時間がかからずできるのですが、 何度か挿入を繰り返しているうちに挿入の動作がとても重くなってしまいます。 (数十秒はかかるようになります。) 原因を考えてみてもよくわからず、再計算を手動に 切り替えるなどしてみたのですが変わりませんでした。 Undo用のデータが大きくて時間がかかっているのかな~とも思いましたが どうしていいかわかりません。 このようにEXCELの動作に時間がかかるようにならないためには どのような方法があるでしょうか?

  • エクセルの一つのセルに複数行の文字を入れる方法

    エクセルの一つのセルに複数行の文字を入れる方法を教えてください。 メモ帳などで入力したこのような文章をエクセルに挿入したいのです。 1.あいうえお   あいうえお   あいうえお そのままコピーしてエクセルに貼り付けたら 一つのセルには入らず3行分にまたがってはいりました。 セルの結合をするのかしら?と思って結合したら1行目の「1.あいうえお」が真ん中に残って 2,3行目の文字が消えてしまいました。 このような文章をこのままの状態で一つの列の一つの行(A列1行目など)に入れるには どのようにすればできるのでしょうか?

  • EXCELで行挿入、これは一体何故ですかねえ

    Windows XPでEXCEL2000を使用していますが友人のパソコンのEXCELファイル(友人もW-xpでEXCELも2000)を私のパソコンにコピーして表の中で行挿入をしたいのですが「データの消失を防ぐために、空白でないセルを空白でないセルをワークシートの外にシフトすることは出来ません」と云うメッセージが出てきて行挿入できません。普通は挿入タブをクリックして「行」をクリックすれば自動的に任意の箇所に行挿入できるのですが、何かの設定不足でしょうか。全く挿入できません。どなたか教えてください。

専門家に質問してみよう