我在使用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
非常感谢任何帮助!
答案 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类型子句。