Try this. Check the red worksheet names and change to suit.
Sub IState()
'1) select first item in drop down list (range IState) (the formula will updated value based on the selection in range IState)
'2) create a copy of worksheet without formula right before sheet 7,
'3) Rename the new worksheet based on the text in Cell B1. For example: rename worksheet "Report (2)" to "AK" which "AK" shows in Cell B1 when IState is "Arkansas" (I use vlookup formula in Cell B1 to automatically change accordingly based on the selection in IState)
'4) select next item in drop down list
'5) repeat steps 2 & 4 until done with 40 states
Dim wsReport As Worksheet
Dim rngState As Range
Set wsReport = Worksheets("Report") 'source worksheet
Application.ScreenUpdating = False
For Each rngState In Sheets("Other").Range("IStateMarket") 'loop through list
wsReport.Range("IState").Value = rngState 'select state
wsReport.Copy Before:=Sheets("Sheet7") 'copy sheet
With ActiveSheet
.UsedRange.Value = .UsedRange.Value 'convert formulas to values
.Name = .Range("B1").Value 'name copied sheet
End With
Next
Application.ScreenUpdating = True
End Sub
Bookmarks