![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.2ベストアンサー
- 回答日時:
既存のひな形に付け加えたので、あるフォルダに存在する、すべてのシートを、このマクロを登録したブックにコピーするコードです。
外していたらすみません。ちょっとだけ動かして確認しましたが、多分動くでしょう。(Excel2007では無理かもしれませんが)少々長いのでインデントの修正してないですが、ご容赦を。
Sub treatAllFiles()
Dim FSO As Object
Dim folderName As String
Dim targetFolder As Object
Dim targetFiles As Object
Dim targetFile As Object
Dim sh As Worksheet
'????? は環境に合わせる事
folderName = "C:\Documents and Settings\?????\My Documents\"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set targetFolder = FSO.getfolder(folderName)
Set targetFiles = targetFolder.Files
For Each targetFile In targetFiles
DoEvents '途中でやめたくなった時のための保険
If (Right(targetFile, 4) = ".xls" Or Right(targetFile, 4) = ".XLS") Then
Application.Workbooks.Open targetFile
For Each sh In Application.ActiveWorkbook.Worksheets
sh.Copy Before:=ThisWorkbook.Sheets(1)
Next
Windows(FSO.GetFileName(targetFile)).Activate
Call ActiveWorkbook.Close(savechanges:=False)
End If
Next targetFile
End Sub
No.5
- 回答日時:
#2です
Scripting.FileSystemObjectについては、
参考URLをご覧下さい。自分もいつもお世話になっているサイトです。
これを使いこなすと、フォルダー、ファイル、テキストファイル等を操作するのに便利です。
参考URL:http://officetanaka.net/excel/vba/filesystemobje …
No.4
- 回答日時:
この質問で良く意味が判らない。
>excelファイルが30個ありまして
1ファイル1シートか。複数シートがあるものもあるのか。
>各ファイルはシート毎に分かれて30シートになるようにするには
>各ファイルはシート毎に分かれて
各ファイルとは30個のファイルですね。
>シート毎に分かれて30シートになるようにするには
とはどういう意味ですか。ファイルはシートごとに分かれているのは当たり前ではない?。
>集約したいのですが
集約とは。
30個のファイルにあるそれぞれのシートを1個のファイルに集めるとして、>30シートになるようにするには、とは。
ーーー
結局
30個のファイルにあるシートを全て1つの(新しい)ファイルに集めたい(コピーして集めたファイルを作りたい)で良いのかな。
No.3
- 回答日時:
このマクロのあるBOOKのあるフォルダに存在する、すべてのBOOKのシート(1)を、このマクロのあるBOOKにコピーするマクロです。
移動するシート名は重複しないようにBOOK名からとります。
もとのBOOKにsheet1が存在しないように。
sheet1吸い上げ 処理後 BOOKは KILL削除 します。
Sub Dir内XLSブックをシートに統合()
'
Set WBook = ThisWorkbook
With Application.FileSearch
.Filename = "*.xls"
.LookIn = CurDir
If .Execute() > 0 Then
nn = .FoundFiles.Count
For i = 1 To .FoundFiles.Count
If WBook.Path + "\" + WBook.Name <> .FoundFiles(i) Then
Workbooks.Open Filename:=.FoundFiles(i)
shn = ActiveWorkbook.Name
Sheets(1).Copy Before:=WBook.Sheets(1)
WBook.Sheets(1).Name = Left(shn, Len(shn) - 4)
Workbooks(shn).Close
Kill (.FoundFiles(i))
End If
Next i
MsgBox CStr(nn - 1) + "個の.xlsブックを吸い込み統合しました。"
Else
MsgBox "統合する.xlsファイルはありません。"
End If
End With
End Sub
No.1
- 回答日時:
VBAでは不可能かと・・・。
地道にファイルを開いて、シートの移動(またはコピー)で1つのEXCELファイルにする方が、回答を待つより早いと思います。
面倒でしょうが、頑張ってください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel ファイルを指定し、指定されたファイル内にシートを統合するVBA 8 2023/07/10 10:09
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- その他(データベース) Excel VBA 転記について 1 2022/04/20 16:55
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- Visual Basic(VBA) Excel VBA ファイル取得について フォルダの中に、ファイル名“会議“を含むファイルが1つまた 9 2022/10/12 01:18
- PostgreSQL ポストグレにあるExcelファイルを開くには 1 2022/12/13 18:07
- Excel(エクセル) Excel VBA 3 2023/04/22 10:46
- Visual Basic(VBA) Excel VBA リンク更新について A、B、Cのファイルかあります。 (Aファイルのリンク元Bフ 1 2022/09/21 13:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
エクセルでファイルを開かずに...
-
PhotoshopでExcelのファイルが...
-
エクセルで他のファイルのセル...
-
MATLABでcsvファイルを読み込も...
-
EXCEL 新規ブックのアクティブ...
-
excelで1つのファイルに統合す...
-
Excel 2枚目のブックが開かな...
-
パワーポイントをエクセルファ...
-
エクセルで「500時間」を「何日...
-
IFとIFS関数
-
エクセル 列の最大数はIV?
-
EXCELで上書き保存しないと反映...
-
エクセル0:00と表示される原因
-
エクセルでファイルを閉じても...
-
エクセルを開いたときのシート
-
エクセルVBAでアクセスファイル...
-
エクセルのカメラ機能を、700個...
-
共有しているEXCELシートのアク...
-
エクセルで使えるかわいい枠を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
エクセルでファイルを開かずに...
-
Excel 2枚目のブックが開かな...
-
CPU使用率が100%となっ...
-
エクセルで他のファイルのセル...
-
複数のtxtの特定部分を抽出し、...
-
マクロで別ファイルのシートコ...
-
文字しか入っていないのにエク...
-
エクセルマクロ 数式【VLOOKUP...
-
MATLABでcsvファイルを読み込も...
-
VBAで集計元のファイル名を取得...
-
エクセルでハイパーリンクが貼...
-
Excel2000でフォルダを移動する...
-
エクセル保存後に別のブックの...
-
複数エクセルファイルのレコー...
-
PhotoshopでExcelのファイルが...
-
EXCELで関数が使えなくなった?
-
エクセルでファイル名やシート...
-
エクセル(Excel)で別ファイルと...
-
ファイル内にある数字の出現回...
おすすめ情報