I'd do something like this, far simpler, use 2 arrays and a loop to process each pair:
Sub main()
Dim Graphs, Sheets, n
'Do stuff to open workbooks etc.
Graphs = Array("Graphing_MTH_Actual_Curr_Year", "Graphing_MTH_Actual_Prev_Year", "Graphing_YTD_Actual_Curr_Year", _
"Graphing_YTD_Actual_Prev_Year", "Graphing_R12_Actual_Curr_Year", "Graphing_R12_Actual_Prev_Year")
Sheets = Array("MTH", "MTHPrevious", "YTD", "YTDPrevious", "R12", "R12Previous")
For n = 1 To 6
Average_Graph CStr(Graphs(n - 1)), CStr(Sheets(n - 1))
Next n
End Sub
Sub Average_Graph(strGraphName As String, strSheetName As String)
Dim wbCsv As Workbook
Dim wsMyCsvSheet As Worksheet
Dim lNextrow As Long
Dim strFile As String
Dim strFldr As String
strFldr = "C:\Documents and Settings\SeymourJ\My Documents\Tasks\"
strFile = Dir(strFldr & strGraphName & "*.csv")
Application.Calculation = xlCalculationManual
lNextrow = 2
Application.DisplayAlerts = False
If Len(strFile) > 0 Then 'process a file
Do
Set wbCsv = Workbooks.Open(Filename:=strFldr & strFile)
Set wsMyCsvSheet = wbCsv.Sheets(1)
With Workbooks("GraphingChartTemplate.xls").Sheets(strSheetName)
wsMyCsvSheet.Range("A2:M14").Copy
.Cells(lNextrow, 2).PasteSpecial
End With
lNextrow = lNextrow + 14
wbCsv.Close
strFile = Dir 'get next file
Application.StatusBar = strFile
Loop Until Len(strFile) = 0
End If
Application.DisplayAlerts = True
End Sub
Bookmarks