Good Day,
I'll do my best to explain the issue, but please forgive me as i am a VBA newbie with some inherited code soo please be gentle : D . I have a workbook that generates sheets for each year based on selected criteria. It starts at Column H and goes too AH and beyond. When my loop reaches Z it errors out. I think this is happening because the code is referencing the column as ASCII. Here is the code:
VB:
Sub Test()
Dim d As Date
Dim yrint, i, num_years, fields, field_start As Integer
Dim yrstr, crit1, crit2, left_column_range_fixed, right_column_range_fixed, left_column_range_var, right_column_range_var, left_column_range, right_column_range, cost_column, cost_column_var, cost_column_fixed As String
left_column_range_fixed = "H"
right_column_range_fixed = ":AH"
cost_column_fixed = "2"
crit1 = "=x"
crit2 = ">0"
d = Date
yrint = Sheets("Overall").Range("H2")
field_start = 9
num_years = InputBox("Enter the number of years")
For i = 0 To num_years
yrstr = CStr(yrint + i)
fields = field_start + i
left_column_range_var = Chr(Asc("h") + i)
right_column_range_var = Chr(Asc("j") + i)
cost_column_var = Chr(Asc("i") + i)
Sheets("Overall").Select
Sheets("Overall").Copy After:=Sheets(i + 1)
Sheets("Overall (2)").Select
Sheets("Overall (2)").Name = yrstr
Selection.AutoFilter Field:=fields, Criteria1:=crit1, Operator:=xlOr, Criteria2:=crit2
Range("A1:B1").Select
ActiveCell.FormulaR1C1 = "Tasks to be Completed - " + yrstr
Columns("D:E").Select
Selection.EntireColumn.Hidden = True
left_column_range = left_column_range_fixed + left_column_range_var
Columns(left_column_range).Select
Selection.EntireColumn.Hidden = True
right_column_range = right_column_range_var + right_column_range_fixed
Columns(right_column_range).Select
Selection.EntireColumn.Hidden = True
cost_column = cost_column_var + cost_column_fixed + ":" + cost_column_var + cost_column_fixed
Range(cost_column).Select
ActiveCell.FormulaR1C1 = "Cost"
ActiveWindow.View = xlPageBreakPreview
Next i
Worksheets.FillAcrossSheets (Worksheets("Overall").Range("A2:B99"))
Sheets("Overall").Select
End Sub
Thanks in advance for your help
Terry
Bookmarks