Hello All!
Having some issues with my macro. Wondering if any of you fine people would take a moment to see whats wrong with my code? Getting tons of awesome errors, and seeing in how this is my first macro, your expertise would be greatly appreciated! Thanks in advance, I cant wait to learn more!
Sub FAOName()
Const ColResultFaoName As Long = 1
Const FAOName As String = "FAO_Name"
Const WBkMasterName As String = "mater.data.xls"
Const WBkResultName As String = "results.data.xls"
Const WShtMasterName As String = "Combined"
Const WShtResultName As String = "FAO"
Dim ColMasterFaoName As Long
Dim ColMasterCrnt As Long
Dim CountMasterColFoundCrnt As Long
Dim CountMasterColFoundTotal As Long
Dim InxWbkCrnt As Long
Dim PathCrnt As String
Dim RngResult As Range
Dim RowMasterNext As Long
Dim RowResultLast As Long
Dim TempStg As String
Dim WBkMaster As Workbook
Dim WBkResult As Workbook
Dim WShtMaster As Worksheet
Dim WShtResult As Worksheet
PathCrnt = ThisWorkbook.Path
For InxWbkCrnt = 1 To Workbooks.Count
If Workbooks(InxWbkCrnt).Name = WBkMasterName Then
Call MsgBox("Please close workbook '" & WBkMasterName & _ "' before running this macro.", vbOKOnly)
Exit Sub
End If
Next
On Error Resume Next
Workbooks.Open PathCrnt & "\" & WBkMasterName
On Error GoTo 0
If ActiveWorkbook.Name = ThisWorkbook.Name Then
Call MsgBox('I was unable to open workbook " &_ WBkMasterName & "'.", vbOKOnly)
Exit Sub
End If
Set WBkMaster = ActiveWorkbook
On Error Resume Next
Workbooks.Open PathCrnt & "\" & WBkResultName
On Error GoTo 0
If ActiveWorkbook.Name = WBkMaster.Name Then
Call MsgBox("I was unable to open workbook '" &_ WBkResultName & "'.", vbOKOnly)
WBkMaster.Close SaveChanges:=False
Set WBkMaster = Nothing
Exit Sub
End If
Set WBkResult = ActiveWorkbook
With WBkMaster
On Error Resume Next
Set WShtMaster = .Worksheets(WShtMasterName)
On Error GoTo 0
If WShtMaster Is Nothing Then
Call MsgBox("Workbook '" & WBkMasterName & "' does not contain " &_ "worksheet '" & WShtMasterName & "'.", vbOKOnly)
WBkMaster.Close SaveChanges:=False
WBkResult.Close SaveChanges:=False
Set WBkMaster = Nothing
Set WBkResult = Nothing
Exit Sub
End If
End With
With WBkResult
On Error Resume Next
Set WShtResult = .Worksheets(WShtResultName)
On Error GoTo 0
If WShtResult Is Nothing Then
Call MsgBox("Workbook '" & WBkResultName & "' does not contain " & _ "worksheet '" & WShtResultName & "'.", vbOKOnly)
WBkMaster.Close SaveChanges:=False
WBkResult.Close SaveChanges:=False
Set WBkMaster = Nothing
Set WBkResult = Nothing
Exit Sub
End If
End With
With WShtResult
Debug.Assert .Cells(1, ColResultFaoName).Value = ColFaoName
ColResultFaoName = "A"
If .Cells(1, ColResultFaoName).Value <> ColFaoName Then
Call MsgBox("Cell " & Replace(.Cells(1, ColResultFaoName).Address, "$", "") & " of worksheet'" & WShtResultName & "' of workbook '" & _ WBkResultName & "' is not " & ColFaoName & ".", vbOKOnly)
WBkMaster.Close SaveChanges:=False
WBkResult.Close SaveChanges:=False
Set WBkMaster = Nothing
Set WBkResult = Nothing
Exit Sub
End If
End With
With WShtResult
RowResultLast = .UsedRange.Row + .UsedRange.Rows.Count - 1
Set RngResult = .Range(.Cells(2, ColResultFaoName), .Cells(RowResultLast, ColResultFaoName))
End With
With WShtMaster
RowMasterNext = .UsedRange.Row + .UsedRange.Rows.Count
RngResult.Copy Destination:=.Cells(RowMasterNext, ColMasterFaoName)
End With
WBkMaster.Close SaveChanges:=True
WBkResult.Close SaveChanges:=False
End Sub