我知道這是一個愚蠢的問題,但我在機智的最終試圖弄清楚。在Excel中的範圍方法VBA
這段小小的代碼導致運行時錯誤'1004':對象'_Worksheet'的方法'範圍'失敗。但只有當Sheet3不是活動工作表時。它在Sheet3處於活動狀態時會發生什麼。
With Sheet3.Range(Cells(1, 1), Cells(nrows1, ncols1))
.Clear
.Value = SCDevNeeds1
End With
而且,如果我改變的參考表的標籤名稱,我仍然得到一個運行時錯誤,但是這一次它是一個應用程序定義或對象定義的錯誤。這種情況只發生在紙張不活動時:
With Sheets("newest").Range(Cells(1, 1), Cells(nrows1, ncols1))
.Clear
.Value = SCDevNeeds1
End With
我在想什麼?
線被執行時什麼是** nrows1,ncols1,**和** ** SCDevNeeds1價值觀 – 2014-10-18 21:41:34
如果您不具備參考特定工作表的資格,單元格()始終指向活動工作表。您的代碼錯誤是因爲Range引用了sheet3,但Cells()不會除非sheet3處於活動狀態。 – 2014-10-18 21:43:28
在這種情況下,是的,但並不總是取決於代碼的位置,這使得它更容易出錯。 (請參閱下面的答案) – KekuSemau 2014-10-18 22:02:16