I call a sub that select and convert ranges in multiple sheets into tables. It generates the tables and names them "SIS_1", "SIS_2" and so on. To use these tables in my current sub, I can declare and set table "SIS_1" in worksheets 3, but can't declare and set table "SIS_2" in worksheet 4 and so on. Does it have anything to do with the sheet code (highlighted in red)?

I can't seem to find what the issue is. If I manually rename the "SIS_2" in excel into "SIS_x", then rename it back to "SIS_2", it seems to solve the issue and I can then declare the variable as usual. I don't understand why it's like that.

Code i want to declare the ListObject
Public Sub ImportButton_Click()
    Dim totalSheets As Integer
    Dim startSheet As Integer, endSheet As Integer
    Dim masterSIS As ListObject, sourceSIS As ListObject
    Dim i As Integer
    Set masterSIS = Worksheets("MasterSIS").ListObjects("MasterSIS")
    totalSheets = ThisWorkbook.Worksheets.Count
    Call importSheets([filePath])
    startSheet = totalSheets + 1
    endSheet = ThisWorkbook.Worksheets.Count
    Call convertToTable(startSheet, endSheet, "SIS")
    For i = 1 To endSheet - totalSheets
        Set sourceSIS = Worksheets(startSheet).ListObjects("SIS_" & i)
        Call appendTable(masterSIS, sourceSIS)
        startSheet = startSheet + 1
    Next i
End Sub
For anyone having similar problem. Hope this helps.
Found the solution here https://www.dingbatdata.com/2017/11/24/referencing-listobjects-with-vba/.
To declare LinkObject, you need to do it like this Range("TableName").ListObject.It seems that 'there will be a VBA error if the sheet changes it’s position'.
