2013-08-19 47 views
0

我需要幫助調試我在其中一個工作簿上發現的奇怪錯誤。我爲excel文件編寫了一些vba代碼,並以某種方式調用了不同的工作簿。我給一個例子可以說,我有一個名爲「測試1」的Excel文件,該文件已經從所謂的「測試2」下面的代碼只從工作簿應用從「測試1」關於vba代碼運行時錯誤9的問題

lastRow = Cells(Rows.Count, 1).End(xlUp).Row ' will get the last row 
    MsgBox (lastRow) 'wrote this for debugging purposes 
    Worksheets("SalesContest").Range("A3:A" & lastRow).Clear 

另一個工作簿一些參考我有這個代碼,所以它只能在「test1」文件中清除A行的內容。但是,當我隨機打開「test2」並以某種方式在「test2」上運行上面的代碼時,即使它假設只運行在「test1」當我打開「test2」有一個messagebox,說「test2」中的行數,它也給我以下錯誤消息「RUn時間錯誤9」下標超出範圍「有沒有辦法我可以解決這個問題,所以它doesnt call「test2」but only「test1」

回答

1

您可以使用ThisWorkbook.Worksheets("SalesContest").Range("A3:A" & lastRow).Clear來確保它適用於運行代碼的工作簿。

+0

它修復了錯誤信息。但我有一個「test1」上的代碼,它將結果輸出到「test1」上的col A,現在它輸出「test2」上的代碼。 –