2015-11-13 44 views
4

我想從Excel中將一部分數據添加到Access中的表中。我使用TransferSpreadSheet方法將數據在表格中排序。當向表中添加數據時移動到下一列

我嘗試的下一件事是嘗試將每列逐列添加到表中,但這不起作用,因爲要繼續將數據添加到下一行而不是下一列,然後添加到下一列的第一行。

一般來說,我在Excel中有7行/單元格和100列。我希望它看起來相同的表,因爲它在電子表格中

這裏確實是我曾嘗試:

For i = 0 To 7 
    For j = 5 To 100 
     xColumn = MultiLetter(j) 
     xCell = shNames + "!" + xColumn + CStr(BCellNum + i) + ":" + xColumn + CStr(BCellNum + i) 
     'xCell = shNames + "!E" + CStr(BCellNum + i) + ":" + xColumn + CStr(BCellNum + i) 

     DoEvents 
      DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "Sheet1", _ 
       ExcelFileList(XFile), No, xCell, yes 
    Next j 
Next i 

什麼它最終被

A 
B 
C 
D 
E 
F 
G 
H 

我想它是什麼

A  E 
B  F 
C  G 
D  H 

任何人都可以幫助我的困境嗎?

+0

是在訪問中已經定義的表結構?並且它是否反映了Excel中的列列表 - 至少在標題方面,即使它不是按照確切的順序? –

+0

@ScottHoltzman是的表格結構已經定義好了。它反映了excel中的列列表,但我試圖獲取的數據部分位於電子表格的中間,所以沒有任何標題,只是電子表格中的標準列字母。 – user3240928

+0

您可以使用ADO而不是傳輸格式表,但是你不應該關心列順序,表格不適合用戶,所以一個表格將解決問題。 – Fionnuala

回答

0

爲什麼不先將數據提取到新工作表,然後在新工作表上使用DoCmd.TransferSpreadsheet!

相關問題