打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ACCESS中通过VBA将EXCEL文档中的多个结构相同的表合并为一个表


'合并所有的工作表

Public Sub MergeWorkSheets(strWrkBookName As String)

    Dim objExcelApp As Object

    Dim objWorkbook As Object

    Dim objWorkSheet As Object

    Dim strSQL As String

    Set objExcelApp = CreateObject('Excel.application', '')

    objExcelApp.Visible = False

    Set objWorkbook = objExcelApp.Workbooks.Open(strWrkBookName)

    DoCmd.SetWarnings False

    For Each objWorkSheet In objWorkbook.Worksheets

        'Debug.Print objWorkSheet.Name

        If IsNull(DLookup('[Id]', '[MSysObjects]', '[Type]=1 AND [Name]='tempTable'')) Then

        strSQL = 'Select * INTO tempTable FROM [Excel 12.0 XML;HDR=YES;DATABASE=' & strWrkBookName & '].[' & objWorkSheet.Name & '$];'

        Else

            strSQL = 'Insert INTO tempTable Select * FROM [Excel 12.0 XML;HDR=YES;DATABASE=' & strWrkBookName & '].[' & objWorkSheet.Name & '$];'

        End If

        DoCmd.RunSQL strSQL

    Next

    objWorkbook.Close True

    objExcelApp.Quit

    strSQL = 'Select * INTO [Excel 12.0 XML;HDR=YES;DATABASE=' & CurrentProject.Path & '\合并结果输出.xlsx].[合并] FROM tempTable;'

    DoCmd.RunSQL strSQL

    DoCmd.DeleteObject acTable, 'tempTable'

    'DoCmd.TransferDatabase acExport, 'dBase 5.0', Access.CurrentProject.Path, acTable, 'tempTable', 'DBFTable', False, False

    DoCmd.SetWarnings True

    Set objWorkSheet = Nothing

    Set objWorkbook = Nothing

    Set objExcelApp = Nothing

End Sub



本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
用excel vba,将EXCEL数据追加到ACCESS数据库的某张表中的实例(学习备注)
如何对工作簿中的工作表排序?
Listview导出EXCEL功能模块
vb用数组方式快速导出MSFlexGrid表格数据到Excel表格中
学以致用——Excel VBA查找列名(列标题所在列的字母序号)
数据库分页方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服