我是新來的VBA代碼,並在工作中的一個項目,我只好趕緊教我一些VBA設置範圍變量。我試圖重寫一些代碼,以儘可能避免使用.select命令。問題在於,我將範圍定義爲變量並嘗試設置它。不能沒有選擇表第一
Dim SearchRng As Range
Set SearchRng = Sheets("Employee Data").Range("B9", Range("B9").End(xlDown).End(xlToRight))
當代碼的該位被運行的活性片是不是「員工數據」片材,我總是得到一個「運行時錯誤‘1004’:應用程序定義或對象定義的錯誤」。
我發現,如果我選擇了「員工數據」表先再設置範圍,則代碼工作。即
Dim SearchRng As Range
Worksheets("Employee Data").Select
Set SearchRng = Range("B9",Range("B9").End(xlDown).End(xlToRight))
然而,這卻失敗了試圖避免.select命令的目的。
任何人都可以解釋爲什麼代碼的第一位不工作,但代碼然後第二位呢。
讓我知道,可能需要什麼額外的信息來幫助解決這個問題(我是新來的VBA所以不能確定需要什麼)。
什麼是您要定義的範圍內?從「B9」直到哪裏?什麼單元格是'Range(「B9」)。End(xlDown).End(xlToRight)'假設是?在我的答案下面的代碼將運行沒有錯誤(不知道你想要什麼範圍,但) –
謝謝。我所指的範圍基本上是一個存儲在「員工數據」表中的數據庫。 B9是左上方的單元格,我希望選擇整個數據庫,因此.End命令。目的是定義範圍,以便可以進行搜索。 –
你測試了我的代碼嗎?你是否得到了你需要的結果? –