メインのExcelファイルとCSVデータがいくつかのサブフォルダにあります。あるサブフォルダからCSVをロードし、別のVBAスクリプトを開始してから次のサブフォルダに移動したいと考えています。Excel VBA - サブフォルダのデータを含むループVBA
例:
- MyExcelFile.xlsm
- カントリー1
- ../Data1.csv
- ../Data2.csv
- カントリー2
- ../Data3 .csv
- ../Data4.csv
COUNTRY1 Report1.csv Report2.csv COUNTRY2 Report3.csv Report4.csv
ロードCOUNTRY1からすべてのCSV、レポートを生成し、その後、COUNTRY2に移動し、このデータとレポートを生成します。
は、ここに私のVBAは(言及者のおかげで)CSVを読み込むことです:
Sub ImportCSVs()
'Author: Jerry Beaucaire
'Date: 8/16/2010
'Summary: Import all CSV files from a folder into separate sheets
Dim fPath As String
Dim fCSV As String
Dim wbCSV As Workbook
Dim wbMST As Workbook
Set wbMST = ThisWorkbook
fPath = (Application.ActiveWorkbook.Path & "\") 'path to CSV files, include the final \
Application.ScreenUpdating = False 'speed up macro
Application.DisplayAlerts = False 'no error messages, take default answers
fCSV = Dir(fPath & "*.txt") 'start the CSV file listing
On Error Resume Next
Do While Len(fCSV) > 0
Set wbCSV = Workbooks.Open(fPath & fCSV, xlDelimited, Delimiter:=",", Format:=6, Local:=False) 'open a CSV file
wbMST.Sheets(ActiveSheet.Name).Delete 'delete sheet if it exists
ActiveSheet.Move After:=wbMST.Sheets(wbMST.Sheets.Count) 'move new sheet into Mstr
Columns.AutoFit 'clean up display
fCSV = Dir 'ready next CSV
Loop
Application.ScreenUpdating = True
Set wbCSV = Nothing
End Sub
は、誰もが、私は「サブフォルダ名」の上に、すべてのサブフォルダと手に行くことができるか、私を説明することができますCSVをインポートしますか?私は午後中これを探していたが、答えを見つけることができなかった。
は、オブジェクトの作成はこちら概念である
:私は、私は次のコードで欲しかった正確に何をするために管理しました。 –
確かに、それを変更しました:-) – PlexStack