ディレクトリ内のファイルをループして、Excelのマスターシートにデータをコピーするにはどうすればよいですか?
XNUMXつのフォルダーに複数のExcelブックがあり、これらすべてのExcelファイルをループして、指定した範囲の同じ名前のワークシートからExcelのマスターワークシートにデータをコピーするとします。 この記事では、それを実現する方法を詳しく紹介します。
ディレクトリ内のファイルをループし、VBAコードを使用してデータをマスターシートにコピーします
ディレクトリ内のファイルをループし、VBAコードを使用してデータをマスターシートにコピーします
A1:D4の範囲で指定したデータを、特定のフォルダー内のブックのすべてのシート1からマスターシートにコピーする場合は、次のようにします。
1.ブックでマスターワークシートを作成し、を押します。 他の + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。
2。 の中に アプリケーション向け Microsoft Visual Basic ウィンドウ、クリック インセット > モジュール。 次に、以下のVBAコードをコードウィンドウにコピーします。
VBAコード:フォルダー内のファイルをループし、データをマスターシートにコピーします
Sub Merge2MultiSheets()
Dim xRg As Range
Dim xSelItem As Variant
Dim xFileDlg As FileDialog
Dim xFileName, xSheetName, xRgStr As String
Dim xBook, xWorkBook As Workbook
Dim xSheet As Worksheet
On Error Resume Next
Application.DisplayAlerts = False
Application.EnableEvents = False
Application.ScreenUpdating = False
xSheetName = "Sheet1"
xRgStr = "A1:D4"
Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
With xFileDlg
If .Show = -1 Then
xSelItem = .SelectedItems.Item(1)
Set xWorkBook = ThisWorkbook
Set xSheet = xWorkBook.Sheets("New Sheet")
If xSheet Is Nothing Then
xWorkBook.Sheets.Add(after:=xWorkBook.Worksheets(xWorkBook.Worksheets.Count)).Name = "New Sheet"
Set xSheet = xWorkBook.Sheets("New Sheet")
End If
xFileName = Dir(xSelItem & "\*.xlsx", vbNormal)
If xFileName = "" Then Exit Sub
Do Until xFileName = ""
Set xBook = Workbooks.Open(xSelItem & "\" & xFileName)
Set xRg = xBook.Worksheets(xSheetName).Range(xRgStr)
xRg.Copy xSheet.Range("A65536").End(xlUp).Offset(1, 0)
xFileName = Dir()
xBook.Close
Loop
End If
End With
Application.DisplayAlerts = True
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
注意:
1)。 コードでは、「A1:D4"と"Sheet1」は、すべてのSheet1の範囲A4:D1のデータがマスターシートにコピーされることを意味します。 そして「新しいシート」は、新しく作成されたマスターシートの名前です。
2)。 特定のフォルダ内のExcelファイルは開かないはずです。
3。 プレス F5 コードを実行するためのキー。
4.オープニングで ブラウズ ウィンドウで、ループするファイルが含まれているフォルダを選択して、[ OK ボタン。 スクリーンショットを参照してください:
次に、現在のワークブックの最後に「新しいシート」という名前のマスターワークシートが作成されます。 また、選択したフォルダ内のすべてのSheet1の範囲A4:D1のデータがワークシート内に一覧表示されます。
関連記事:
最高のオフィス生産性ツール
Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます
- 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
- スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
- セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
- [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
- 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
- テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
- スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
- ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
- 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作業をはるかに簡単にします
- Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
- 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
- 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!


#27551
このコメントは、サイトのモデレーターによって最小化されました
レポート
0
0

#27552
このコメントは、サイトのモデレーターによって最小化されました
レポート
0
0

#29000
このコメントは、サイトのモデレーターによって最小化されました
レポート
0
0

#29273
このコメントは、サイトのモデレーターによって最小化されました
0
0

#29759
このコメントは、サイトのモデレーターによって最小化されました
0
0

#29760
このコメントは、サイトのモデレーターによって最小化されました
レポート
0
0

#29761
このコメントは、サイトのモデレーターによって最小化されました
0
0

#30716
このコメントは、サイトのモデレーターによって最小化されました
0
0

#30717
このコメントは、サイトのモデレーターによって最小化されました
レポート
0
0

#32139
このコメントは、サイトのモデレーターによって最小化されました
0
0

#35521
このコメントは、サイトのモデレーターによって最小化されました
0
0

#36491
このコメントは、サイトのモデレーターによって最小化されました
0
0

#36856
このコメントは、サイトのモデレーターによって最小化されました
0
0

#36857
このコメントは、サイトのモデレーターによって最小化されました
レポート
0
0

#40723
このコメントは、サイトのモデレーターによって最小化されました
0
0

#40752
このコメントは、サイトのモデレーターによって最小化されました
レポート
0
0

#40852
このコメントは、サイトのモデレーターによって最小化されました
0
0

#41812
このコメントは、サイトのモデレーターによって最小化されました
レポート
0
0

#41735
このコメントは、サイトのモデレーターによって最小化されました
0
0

#41833
このコメントは、サイトのモデレーターによって最小化されました
レポート
0
0
ここにはまだコメントが投稿されていません