在数据表VBA Excel2010 ActiveX中插入新行

Posted

技术标签:

【中文标题】在数据表VBA Excel2010 ActiveX中插入新行【英文标题】:Insert new row in data table VBA Excel2010 ActiveX 【发布时间】:2016-08-06 23:05:36 【问题描述】:

我想在我的数据表中插入一行。当我手动尝试(选择行,插入新行)时,它工作得很好,但是当我尝试将它添加到我的宏中时,它位于 ActiveX 按钮内(!)它说“运行时错误 438:对象不支持这个方法”。如果我在通常的宏中尝试 mecro,而不是在按钮内部,它也可以正常工作。

我怎样才能摆脱这个问题?

Set wsd = Sheets("Data")
wsd.Select                      
With wsd
.Rows("5:5").Select
.Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 'Here appears the error
End With

非常感谢您的帮助。提前致谢!

【问题讨论】:

【参考方案1】:

您不需要选择。不适用于工作表,也不适用于行。

Sub test()
Set wsd = Sheets("Data")
With wsd
    .Rows("5:5").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 
End With

End Sub

【讨论】:

++ 不错 :) 顺便说一句,你也不需要“5:5”。 .Rows(5) 也可以 谢谢!我马上又遇到了另一个错误,但我在解决它时忘记回复了:)

以上是关于在数据表VBA Excel2010 ActiveX中插入新行的主要内容,如果未能解决你的问题,请参考以下文章

ActiveX 组件无法创建对象。 Excel VBA中的搭扣

错误 429 excel vba activex CreateObject(“SAP.Functions”)

使用 Excel VBA 创建 Word 应用程序:运行时错误“429”:ActiveX 组件无法创建对象

Excel VBA 将文本框(文本和格式)复制到另一个文本框(无 ActiveX / 用户表单)

vba 查询access

Excel 2010 中的“表单控件”和“ActiveX 控件”有啥区别?