I figured it out. The code you had provided went through the whole array n=lBound to uBound and used any worksheet name data contained in vData(n,2). All 100 worksheets. So I replaced
ActiveWorkbook.Sheets(CStr(vData(n, 2))).Select
ActiveWorkbook.Sheets(CStr(vData(n, 2))).Range("A1:" & vData(n, 3) & "100").Select
For Each x In ActiveWorkbook.Sheets(vData(n, 2)).Range("A1:" & vData(n, 3) & "100").Cells
with
ActiveWorkbook.Sheets(wks.Name).Select
ActiveWorkbook.Sheets(wks.Name).Range("A1:" & vData(n, 3) & "100").Select
For Each x In ActiveWorkbook.Sheets(wks.Name).Range("A1:" & vData(n, 3) & "100").Cells
Where wks = Activesheet so it only runs the code if the sheet is Active which is what I needed it to do.
Bookmarks