EXCEL合并多个表格出错 运行时错误1004

要合并一个文件夹下面的EXCEL表格,网上找了个宏,代码如下:Sub 合并当前目录下所有工作簿的全部工作表()Dim MyPath, MyName, AWbNameDim Wb As Workbook, WbN As StringDim G As LongDim Num As LongDim BOX As StringApplication.ScreenUpdating = FalseMyPath = ActiveWorkbook.PathMyName = Dir(MyPath & "\" & "*.xls")AWbName = ActiveWorkbook.NameNum = 0Do While MyName <> ""If MyName <> AWbName ThenSet Wb = Workbooks.Open(MyPath & "\" & MyName)Num = Num + 1With Workbooks(1).ActiveSheet.Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)For G = 1 To Sheets.CountWb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)NextWbN = WbN & Chr(13) & Wb.NameWb.Close FalseEnd WithEnd IfMyName = DirLoopRange("B1").SelectApplication.ScreenUpdating = TrueMsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"End Sub运行这个的时候出错,提示是: 我估计问题是我的文件都是XLSX,然而以上公式是针对XLS的。求解决方法,谢谢

可以如下方式解决: 1、当按F5键,就报:运行时错误1004。可以这样操作,单击文件――选项――信任中心――打开“信任中心”对话框,宏设置――勾寻信任对VBA工程对象模型的访问”。再次运行,就不会出现运行时错误1004提示。 2、再在搜索引擎查询,才知道...
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-26
你都知道不对劲了
只差最后那一哆嗦。。。
MyName = Dir(MyPath & "\" & "*.xls")
问题出在这一句
改成以下试试:
MyName = Dir(MyPath & "\" & "*.xlsx")追问

我有试过这样改过,依然是同样的提示,很奇怪

追答

折腾半天才找到原因
这段代码不能放在工作表、也不能插入模块
而是要粘贴到 Thisworkbook 中
PS:直接用MyName = Dir(MyPath & "\" & "*.xls") 这一句,能将.xls、.xlsx、.xlsm全都合并到一起

本回答被网友采纳
第2个回答  2019-07-26
下载方方格子 一键搞定
第3个回答  2019-07-25
按F8逐步调试看哪一步会出错。
第4个回答  2019-07-25
这个需要调试了

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网