将Excel工作表合并为一个

将Excel工作表合并为一个,excel,ms-access,vbscript,worksheet-function,Excel,Ms Access,Vbscript,Worksheet Function,我在一个工作簿中有数百个不同的工作表,我需要将每个工作表中的所有数据附加(而不是求和)到其他工作表中,并将其全部放在一个巨大的主工作表中。每个工作表的所有列名都完全相同 我在这里的最终目标是从主工作表中获取所有数据并将其放入Access数据库,因此,如果有人也知道一种简单的方法,可以同时从数百张excel工作表中获取数据并将其放入数据库,那将非常棒 似乎最好的方法是使用某种VBScript,但我对此非常不熟悉 使用VBA比使用VBScript更简单: 'Requires reference

我在一个工作簿中有数百个不同的工作表,我需要将每个工作表中的所有数据附加(而不是求和)到其他工作表中,并将其全部放在一个巨大的主工作表中。每个工作表的所有列名都完全相同

我在这里的最终目标是从主工作表中获取所有数据并将其放入Access数据库,因此,如果有人也知道一种简单的方法,可以同时从数百张excel工作表中获取数据并将其放入数据库,那将非常棒


似乎最好的方法是使用某种VBScript,但我对此非常不熟悉

使用VBA比使用VBScript更简单:

   '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
转让电子表格:


请注意,您可能会遇到长列名、保留字符或列名中的名称、日期数据类型、列中的混合数据和列中的长数据的问题。

好的,这里有几个问题。我应该把代码放在哪里?我注意到我可以右键单击工作表,然后单击“查看代码”并处理它,否则我就不知道应该在哪里存储和运行您给我的代码。好的。那么,我应该在何处存储和运行此代码以使用所需信息填充Access数据库?您可以在MS Access中创建一个模块,并添加一个过程,将上述代码粘贴到其中。然后,您可以编辑它以适应您的设置。您不太可能遇到转换问题。好的,我创建了一个模块并添加了一个过程。如何实际运行此过程?您可以单击“子”并从工具栏中选择“运行”,例如。