运行时错误'1004':select范围类失败的VBA 2003的方法

我正试图从一张表复制一列到另一张。 我使用的代码是一个录制的macros,它工作正常,直到我连接到一个button。 当我这样做,它会给出一个“运行时错误'1004':select范围类的方法失败”

这是代码,我可以看到没有错。 当我点击debugging时,突出显示第二行。

Sheets("Count").Select Columns("C:C").Select Selection.Copy Sheets("Add Invintory").Select Range("b1").Select ActiveSheet.Paste Sheets("Count").Select Sheets("Count").Columns("A:A").Select Columns("A:A").Select Selection.Copy Sheets("Add Invintory").Select Range("A1").Select ActiveSheet.Paste 

我不知道问题是什么。 请帮忙

你应该总是避免使用。select他们是错误的主要原因:)

你在试这个吗?

 Sub Sample() Sheets("Count").Columns("C:C").Copy _ Sheets("Add Invintory").Columns("B:B") Sheets("Count").Columns("A:A").Copy _ Sheets("Add Invintory").Columns("A:A") End Sub 

我认为这个问题是你已经把代码写在另一个工作表的代码模块中了。 如果我在Sheet1,并写如

 Sheets("Sheet2").Select Columns("A:A").Select 

… Excel假定您引用Sheet1上的列,因为它将当前工作表视为默认值。 因此,你告诉Excel“select工作表2”,然后“select工作表1上的一列”……它不能这样做,它会给你一个错误消息。 最好的解决办法是不要使用“select”…但是你仍然可以看到在Siddharth的代码中他必须明确地引用表单地址

如果放置在ThisWorkbook模块中,您的原始代码将会工作。 用于input代码的位置在Excel帮助video结束时解释

当你把vba代码放入“查看表单代码”时,肯定有帮助使用Application.Run …来运行macros。

我有问题,我直接inputmacros表单代码..在另一个表中select它声称运行时错误1004 ..所以我创buildmacros分开,然后我把Application.Run我的macros从表代码。

完美的工作;)

这个应用程序。运行也有帮助,当你有太大的macros,擅长声称它不能这么大。 你可以很容易地分成几个部分,然后逐一运行应用程序..;)