Hi,
I am looking for a way to loop a macro for the code below so that I can open an undetermined number of files, copy the information and close the files. The code below opens the first file selected and copies all the data, then the other files are opened and only copy the data and not the header. 10 files are opened total, but I want to be able to open a undetermined number of files each time, but get the same results. Any suggestions?
I am looking for a way to loop a macro for the code below so that I can open an undetermined number of files, copy the information and close the files. The code below opens the first file selected and copies all the data, then the other files are opened and only copy the data and not the header. 10 files are opened total, but I want to be able to open a undetermined number of files each time, but get the same results. Any suggestions?
Code:
Sub ImportData()
'
' ImportData Macro
'
'
Dim wbTarget As Workbook
Dim wbThis As Workbook
Dim FileName As String
FileName = Application.GetOpenFilename(fileFilter:="Excel workbook (*.*),*.*", Title:="Locate source file...")
Set wbThis = ActiveWorkbook
Set wbTarget = Application.Workbooks.Add(FileName)
wbTarget.Activate
Application.DisplayAlerts = False
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
wbThis.Activate
wbThis.Sheets("BOM").Select
Range("A1").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Cells.Select
Cells.EntireColumn.AutoFit
Columns("E:E").Select
Selection.ColumnWidth = 25
Range("A1").Select
Selection.AutoFilter
wbTarget.Close False
FileName = Application.GetOpenFilename(fileFilter:="Excel workbook (*.*),*.*", Title:="Locate source file...")
Set wbThis = ActiveWorkbook
Set wbTarget = Application.Workbooks.Add(FileName)
wbTarget.Activate
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
wbThis.Activate
wbThis.Sheets("BOM").Select
Range("A1").End(xlDown).Offset(1, 0).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
wbTarget.Close False
FileName = Application.GetOpenFilename(fileFilter:="Excel workbook (*.*),*.*", Title:="Locate source file...")
Set wbThis = ActiveWorkbook
Set wbTarget = Application.Workbooks.Add(FileName)
wbTarget.Activate
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
wbThis.Activate
wbThis.Sheets("BOM").Select
Range("A1").End(xlDown).Offset(1, 0).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
wbTarget.Close False
FileName = Application.GetOpenFilename(fileFilter:="Excel workbook (*.*),*.*", Title:="Locate source file...")
Set wbThis = ActiveWorkbook
Set wbTarget = Application.Workbooks.Add(FileName)
wbTarget.Activate
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
wbThis.Activate
wbThis.Sheets("BOM").Select
Range("A1").End(xlDown).Offset(1, 0).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
wbTarget.Close False
FileName = Application.GetOpenFilename(fileFilter:="Excel workbook (*.*),*.*", Title:="Locate source file...")
Set wbThis = ActiveWorkbook
Set wbTarget = Application.Workbooks.Add(FileName)
wbTarget.Activate
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
wbThis.Activate
wbThis.Sheets("BOM").Select
Range("A1").End(xlDown).Offset(1, 0).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
wbTarget.Close False
FileName = Application.GetOpenFilename(fileFilter:="Excel workbook (*.*),*.*", Title:="Locate source file...")
Set wbThis = ActiveWorkbook
Set wbTarget = Application.Workbooks.Add(FileName)
wbTarget.Activate
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
wbThis.Activate
wbThis.Sheets("BOM").Select
Range("A1").End(xlDown).Offset(1, 0).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
wbTarget.Close False
FileName = Application.GetOpenFilename(fileFilter:="Excel workbook (*.*),*.*", Title:="Locate source file...")
Set wbThis = ActiveWorkbook
Set wbTarget = Application.Workbooks.Add(FileName)
wbTarget.Activate
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
wbThis.Activate
wbThis.Sheets("BOM").Select
Range("A1").End(xlDown).Offset(1, 0).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
wbTarget.Close False
FileName = Application.GetOpenFilename(fileFilter:="Excel workbook (*.*),*.*", Title:="Locate source file...")
Set wbThis = ActiveWorkbook
Set wbTarget = Application.Workbooks.Add(FileName)
wbTarget.Activate
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
wbThis.Activate
wbThis.Sheets("BOM").Select
Range("A1").End(xlDown).Offset(1, 0).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
wbTarget.Close False
FileName = Application.GetOpenFilename(fileFilter:="Excel workbook (*.*),*.*", Title:="Locate source file...")
Set wbThis = ActiveWorkbook
Set wbTarget = Application.Workbooks.Add(FileName)
wbTarget.Activate
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
wbThis.Activate
wbThis.Sheets("BOM").Select
Range("A1").End(xlDown).Offset(1, 0).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
wbTarget.Close False
FileName = Application.GetOpenFilename(fileFilter:="Excel workbook (*.*),*.*", Title:="Locate source file...")
Set wbThis = ActiveWorkbook
Set wbTarget = Application.Workbooks.Add(FileName)
wbTarget.Activate
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
wbThis.Activate
wbThis.Sheets("BOM").Select
Range("A1").End(xlDown).Offset(1, 0).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
wbTarget.Close False
Application.DisplayAlerts = True
Range("A2").Select
Range("A1").Select
End Sub
Last edited by a moderator: