Didn't look up TransferSpreadsheet(), but here is my solution. Thanks for the ADO tip.
Code:
Dim vFileName As String, vFolderLoc As String, mySQL As String, vSheetRange As String, vTableName As String
Dim vRange As String, nameRange As String
Dim vFileDate As Date, vCurrDate As Date
Dim vFY As Integer, i As Integer
Dim vStore As Integer, vAnnualSales As Double
'---ADO variables---
Dim cn As ADODB.Connection
Dim rsADO As ADODB.Recordset
Set cn = CreateObject("ADODB.Connection")
Set rsADO = CreateObject("ADODB.Recordset")
vCurrDate = Format(Date, "mm/dd/yyyy")
vFY = DLookup("FY", "tblFiscalCalendar", "[CalDate] = #" & vCurrDate & "#")
vFY = Right(vFY, 2)
vFolderLoc = "C:\Data\"
vFileName = "Excel1.xls"
vTableName = "FY_Annualization2"
' vSheetRange = "''FY " & vFY & " NET'!A4:A9003," & "'FY " & vFY & " NET'!BF4:BF9003"
mySQL = "DELETE * FROM FY_Annualization;"
CurrentDb.Execute mySQL
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & vFolderLoc & vFileName & ";" & _
"Extended Properties=""Excel 8.0;HDR=No;"";"
rsADO.Open "Select * FROM [FY " & vFY & " NET$]", _
cn, adOpenStatic, adLockOptimistic, adCmdText
i = 0
Do While Not rsADO.EOF
If i > 2 And i < 9000 Then
vStore = rsADO.Fields.Item(0)
vAnnualSales = rsADO.Fields.Item(57)
mySQL = "INSERT INTO FY_Annualization2 ([Store], [AnnualizedSales]) VALUES (" & vStore & ", " & vAnnualSales & "); "
CurrentDb.Execute mySQL
End If
rsADO.movenext
i = i + 1
If i > 8999 Then
Exit Sub
End If
Loop