I am trying to combine more than one excel files placed in a specific folder into one worksheet using following code. The code is part of my personal macro workbook.
Sub Combined_Sheets()
Dim strFolder
strFolder = GetFolder
Path = strFolder
Dim NumSheets As Integer
Dim NumRows As Double
Dim wks As Worksheet
Dim wb As Workbook
Set wb = ActiveWorkbook
Dim number As Integer
number = 1
Filename = Dir(Path & "*.*")
Do While Filename <> ""
Workbooks.Open Filename:=Path & Filename, ReadOnly:=True, CorruptLoad:=xlRepairFile
For Each Sheet In ActiveWorkbook.Sheets
ActiveSheet.Name = number
Sheet.Copy After:=wb.Sheets(1)
number = number + 1
Next Sheet
Workbooks(Filename).Close savechanges:=False
Filename = Dir()
Loop
Application.DisplayAlerts = False
wb.Worksheets("Sheet1").Delete
Application.DisplayAlerts = True
NumSheets = ActiveWorkbook.Worksheets.Count
Worksheets(1).Select
Sheets.Add
ActiveSheet.Name = "Consolidated"
For x = 1 To NumSheets
Worksheets(x + 1).Select
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
Worksheets("Consolidated").Select
ActiveSheet.Paste
ActiveCell.SpecialCells(xlLastCell).Offset(1, 0).Select
Selection.End(xlToLeft).Select
Selection.End(xlToLeft).Select
Worksheets(x + 1).Select
Range("A1").Select
Next x
Worksheets("Consolidated").Select
Range("A1").Select
Application.DisplayAlerts = False
For Each wks In Worksheets
If wks.Name <> "Consolidated" Then wks.Delete
Next wks
Application.DisplayAlerts = True
End Sub
Function GetFolder() As String
Dim oFolder As Object
GetFolder = ""
Set oFolder = CreateObject("Shell.Application").BrowseForFolder(0, "Choose a folder", 0)
If (Not oFolder Is Nothing) Then GetFolder = oFolder.Items.Item.Path
Set oFolder = Nothing
End Function
I am getting following error while running it.
Run-time error '1004':
A workbook must contain at least one visible worksheet.
To hide, delete, or move the selected sheet(s), you first insert a new sheet or unhide a sheet that is already hidden.
Please help in this regard.
KAM