2013-12-20 5 views
0

Я использую VBA Access 2010. Видимо, файл excel имеет 13 рабочих листов, и мне нужно только получить столбцы с одного листа. А также, если есть способ пропустить заголовки столбцов, это было бы полезно. Спасибо.Как импортировать конкретный рабочий лист из файла excel?

Вот код, я работаю над:

stat.Caption = "Import Files" 
    Me.Refresh 

     If txtFileSource.Value <> "" Then 

      Dim strTablename As String 
      Dim xlsRpt As New Excel.Application 
      Dim xbookRpt As New Excel.Workbook 
      Dim iRowCountRpt As Integer 
      Dim strRangeRpt As String 

      If cmbData.Value = "My File" Then 


       Set xbookRpt = Workbooks.Open(txtFileSource.Value) 
       iRowCountRpt = xbookRpt.Sheets(1).UsedRange.Rows.Count 
       strRangeRpt = "A1:I" & iRowCountRpt 
       DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "tbl_Account", txtFileSource.Value, True, strRangeRpt 
       xbookRpt.Close 
       xlsRpt.Quit 


      End If 

     cmbData.Value = "Select File" 
     txtDestination.Value = "" 
     txtFileSource.Value = "" 

     Call DeleteImportErrorTables 
     Call MsgBox("Import successful!", vbInformation, "Import File") 

    End If 

stat.Caption = "Ready..." 
Me.Refresh 

ответ

0

Попробуйте

в определении диапазона можно указать начальную строку и вы можете остаться большой с окончанием строки, поскольку Access пропускает пустые строки

DoCmd.TransferSpreadsheet acImport, , "myaccesstable", "myexceldocument", True, "myexcelsheet!A2:X1000" 
Смежные вопросы