first you dont need loops here.
remove them leaving one line, try:
DoCmd.TransferSpreadsheet acImport, acSpreadshetTypeExcel9, table, filename, hasFieldNames, worksheetName & "$"
dont forget $ sign after worksheet name.

it's just an adoption to below code.
below is a working code that i'm currently using to import multiple sheets (xl sheet name = acc table name) with Office 2010 by deleting current Access tables.
as i don't have Office 2000 installed on my pc, i can't test the possible Office 2000 adoption of the code.
afaik you can't directly import data from upper versions of Office programs.


tutorial:
http://www.accessmvp.com/KDSnell/EXCEL_Import.htm

Sub import_multi_XL_tbl()
    Dim wsList As Variant
    Dim xlFile As String
    Dim i As Integer
    
    wsList = Array("Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5", "Sheet6")
    xlFile = "C:\MyFolder\MySubFolder\MyXLFile.xlsm"
    
    With DoCmd
        .SetWarnings False
        For i = LBound(wsList) To UBound(wsList)
            On Error Resume Next
            .RunSQL "DROP TABLE " & wsList(i)
            .TransferSpreadsheet _
                acImport, _
                acSpreadsheetTypeExcel12Xml, _
                wsList(i), _
                xlFile, _
                True, _
                wsList(i) & "$"
            On Error GoTo 0
        Next
        .SetWarnings True
    End With
End Sub