VBA newbie: Code runs fine on 1st worksheet but throws an error on the rest
Dim st As Worksheet
Set st = ActiveSheet
For Each ws In ThisWorkbook.Worksheets
ws.Activate
''--------------------------------''
'Print lables on worksheet'
''------------------------------''
ws.Cells(2, 15).value = "Greatest_increase"
ws.Cells(3, 15).value = "Greatest_decrease"
ws.Cells(4, 15).value = "Greatest total"
ws.Cells(1, 16).value = "name"
ws.Cells(1, 17).value = "Value"
'Print values on worksheet'
''------------------------------------------------------''
ws.Range("P2").value = name1
ws.Range("P3").value = name2
ws.Range("P4").value = name3
ws.Range("Q2").value = GreatIncrease
ws.Range("Q3").value = GreatDecrease
ws.Range("Q4").value = GreatTotal
`'Create a table "Growth_Table" for range("O1:Q4")'
'-----------------------------------------------------------------------''
Dim tablename As String
Dim TableExists As Boolean
'tablename = "Growth_Table"
TableExists = False
On Error GoTo Skip
If ActiveSheet.ListObjects("Growth_Table").Name = "Growth_Table" Then
TableExists = True
End If
Skip:
On Error GoTo 0
If Not TableExists And (ws.Range("O2").value = "Greatest_increase") Then
ActiveSheet.ListObjects.Add(xlSrcRange, ws.Range("O1:Q4"), , xlYes).Name = "Growth_Table"
ActiveSheet.ListObjects("Growth_Table").TableStyle = "TableStyleLight9"
Else
Exit Sub
End If
Next
st.Activate
Sheets are named A,B,C,D. I want to run the code for all the sheets by looping through.But code runs fine on sheetA but throws 'subscript out of range on sheetB. Is it because, "Growth Table" already exists on sheet A? Any fix?
Please Help!