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.