[英]Error 429 “Activex component can't create object” when copying Cells to new worksheet Column
此代码从每个工作表复制列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
4年后我遇到了同样的问题,我的VBA代码在前两行完全失败了:
Dim wb As Workbook
Set wb = ThisWorkbook
如果我使用相同的错误?立即窗口中的ThisWorkbook.name等。无论我做什么,我都不能在这个特定的.xlsm中使用“ThisWorkbook”对象
我创建了一个全新的工作簿,将其保存为.xslm并将整个模块复制到新书bingo,完美运行。
我创建的新书与不起作用的旧书之间似乎没有任何区别......
tools-> references是相同的,它们保存在同一台机器上,同一版本的excel等等。
这只是一个古怪的问题,我无法弄清楚在这个特定的工作簿中,“ThisWorkbook”功能被打破的原因。 从头开始重新创建工作簿似乎可以解决它,但这是一个糟糕的解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.