我在一个工作簿中有数百个不同的工作表,我需要将每个工作表中的所有数据附加(不是求和)到其他工作表上,并将它们全部放在一个巨大的主工作表中。每个工作表的所有列名都完全相同。
我的最终目标是从主工作表中获取所有数据并将其放入Access数据库,因此,如果有人也知道一次轻松地从数百个excel工作表中获取数据并将其放入一个很棒的数据库。
似乎最好的方法是使用某种VBScript,但我对此非常不熟悉。
答案 0 :(得分:1)
您可以比VBScript更简单地使用VBA:
'Requires reference to the Microsoft Excel x.x Object Library
Dim strFileName As String
Dim objXL As New Excel.Application
Dim wkb As Excel.Workbook
Dim wks As Object
'objXL.Visible = True
strFileName = "C:\Docs\LTD.xls"
Set wkb = objXL.Workbooks.Open(strFileName)
For Each wks In wkb.Worksheets
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _
"TableName", strFileName, True, wks.Name & "$"
Next
'Tidy up
wkb.Close
Set wkb = Nothing
objXL.Quit
Set objXL = Nothing
Transferspreadsheet:http://msdn.microsoft.com/en-us/library/office/bb214134(v=office.12).aspx
请注意,您可能会遇到长列名,保留字符或列名称,日期数据类型,列中的混合数据和列中的长数据等问题。