2014-10-01 51 views
0

我遇到了一些我在VBA中編寫的代碼的問題。我得到這個錯誤,但我認爲我錯誤地使用它,因爲我在另一個子文件中寫了一些非常相似的東西。爲什麼我得到「運行時錯誤'424':所需對象」在Excel中使用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 

任何幫助將不勝感激!

回答

3

在最後一行中,突出顯示的一個,複製範圍不存在。 copyrng呢,差別不大。

+0

哇,這是愚蠢的,不能相信我錯過了!謝謝,每隔一段時間我都需要有人向我指出顯而易見的事情! – 2014-10-01 20:16:07

+2

'Option Explicit'修復了這些類型的問題發生之前...... – 2014-10-01 21:44:07

+0

請將您的問題標記爲已回答,並且您將被原諒您的編程錯誤。 Tim還提出了一個很好的建議來添加Option Explicit。 – Juru 2014-10-02 08:38:12

1
Dim copyrng, pasterng As Range 

因爲尚未指定copyrng的數據類型,所以它是一個變體。對於變體使用Value2或使版權範圍。

從幫助暗淡

可選。變量的數據類型;可以是Byte,Boolean,Integer,Long,Currency,Single,Double,Decimal(當前不支持),Date,String(用於可變長度字符串),String * length(用於固定長度字符串),Object,Variant,a用戶定義的類型或對象類型。 爲您聲明的每個變量使用單獨的As型子句

相關問題