为什么我得到“运行时错误'424':对象需要”在Excel中使用VBA?

时间:2014-10-01 20:08:52

标签: excel vba excel-vba

我在使用VBA写的一些代码时遇到了问题。我收到了这个错误,但我不认为我错了,因为我在另一个子中写了一些非常相似的内容。

Sub quicktest()
Dim testrng As Range
Set testrng = Sheet5.Range("J81")
AddNewRecordsColumn testrng
End Sub

Sub AddNewRecordsColumn(bottomcell As Range)
Dim copyrng, pasterng As Range
Set copyrng = Sheet5.Range(Sheet5.Range("E3"), bottomcell)
Set pasterng = Sheet5.Range(Sheet5.Range("D3"), bottomcell)
pasterng.Value = copyrange.Value 'this is the line highlighted by debugger

End Sub

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:3)

在最后一行,突出显示,copyrange不存在。 copyrng做的,差异很小。

答案 1 :(得分:1)

Dim copyrng, pasterng As Range

由于尚未为copyrng指定数据类型,因此它是一种变体。对于Variants,使用Value2或使copyrng成为范围。

来自Dim的帮助

类型 可选。变量的数据类型;可以是Byte,Boolean,Integer,Long,Currency,Single,Double,Decimal(当前不支持),Date,String(对于可变长度字符串),String * length(对于固定长度的字符串),Object,Variant,a用户定义的类型或对象类型。 为您声明的每个变量使用单独的As类型子句。