此代码复制每个工作表中的 P 和 Q 列,并将它们发布到合并的新工作表中。它还删除所有空白单元格。
该代码适用于非常小的文件,但不会在新工作簿上产生相同的结果。
从以前的“小工作簿”到新工作簿的所有列都是相同的。唯一改变的是工作表的数量,为 650 个。
我收到运行时错误 429“Activex 组件无法创建对象”。
Sub merge()
Dim Sh As Worksheet, ShM As Worksheet, i&, z&
Application.ScreenUpdating = 0
Set Sh = Worksheets.Add(, Sheets(Sheets.Count))
Sh.Name = "consolidated"
For Each ShM In ThisWorkbook.Worksheets
If ShM.Name <> Sh.Name Then
i = ShM.Cells(Rows.Count, 17).End(xlUp).Row
z = Sh.Cells(Rows.Count, 2).End(xlUp).Row + 1
While (z > 1) And (Sh.Cells(z, 2).Value = "")
z = z - 1
Wend
ShM.Activate: ShM.Range(Cells(1, 16), Cells(i, 17)).Copy
Sh.Activate: Sh.Cells(z, 1).PasteSpecial xlPasteValues
End If
Next ShM
Application.ScreenUpdating = 1
End Sub
该错误不是由您发布的代码引起的,请参阅以下内容:自动化 Office 应用程序时收到运行时错误 429
这个问题也在这里讨论过:
运行时错误“429”:ActiveX 组件无法创建对象 VBA
check 工具~>参考资料对于缺失的组件
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)