I'm very new with VBA and I'm having a problem with the worksheet functions. I'm not sure if I'm using it right as I've been getting a run-time error '1004': Method 'Range' of '_Global' failed. Here's my VBA below hope you guys can help me out. Thanks!
Sub MergeAllWorkbooks2()
Dim FolderPath As String
Dim X As Long
Dim i As Long
Dim FileName As String
Dim WorkBk As Workbook
Dim SourceRange As Range
Dim DestRange As Range
'path of directory
FolderPath = "C:\Users\XXXX\Desktop\New folder\XXXXX\"
' Setting starting points
X = 3
' Call Dir the first time, pointing it to all Excel files in the folder path.
FileName = Dir(FolderPath & "*.xl*")
' Loop until Dir returns an empty string.
Do Until FileName = ""
' Open a workbook in the folder
Set WorkBk = Workbooks.Open(FolderPath & FileName)
'Set the source range
Set SourceRange = WorkBk.Worksheets(1).Range("C2:C7")
' Set the destination range
Workbooks("Summary.xlsm").Worksheets("Sheet1").Activate
Set DestRange = Workbooks("Summary.xlsm").Worksheets("Sheet1").Range(Cells(4, X), Cells(9, X))
' Copy over the values from the source to the destination.
DestRange.Value = SourceRange.Value
'Get hourly from each file
For i = 12 To 8762
Workbooks("Summary.xlsm").Worksheets("Sheet1").Range(Cells(12, X), Range(Cells(12, X).End(xlDown))) = _
Application.WorksheetFunction.Index(WorkBk.Worksheets(2).Range("B3:B8762"), Application.Match(Workbooks("Summary.xlsm").Worksheets("Sheet1").Range(Cells(i, X)), WorkBk.Worksheets(2).Range("A3:A8763")), 0)
Next i
' Increase NColumn so that we know where to copy data next.
X = X + DestRange.Columns.Count
' Close the source workbook without saving changes.
WorkBk.Close savechanges:=False
' Use Dir to get the next file name.
FileName = Dir()
Loop
' Range("C4:C9", Range("C4:C9").End(xlToRight)).Sort key1:=Range("b7"), key2:=Range("b8"), key3:=Range("b9"), _
' order1:=xlAscending, Orientation:=xlLeftToRight
endTime = Now()
totTimeSec = Round(((endTime - startTime) * (24 * CLng(3600))), 1)
MsgBox (totTimeSec & " seconds")
End Sub