2014-09-24 207 views
0

由於某些原因,當我嘗試運行以下腳本時,我總是收到範圍全局運行時錯誤。任何幫助將不勝感激。excel運行時錯誤'1004'vba

Sub crossUpdate() 
Dim rng As Range 

Set rng = Sheet1.Cells.Range("A2").End(xlDown) 

Range(rng).Select 



End Sub 
+0

的背後是工作表Sheet1本身,或者這個代碼也許另一張? – ne1410s 2014-09-24 19:10:33

回答

0

試着改變你的代碼:

Sub crossUpdate() 
    Dim rng As Range 
    ActiveWorkbook.Sheets("Sheet1").Select 
    Set rng = ActiveWorkbook.Sheets("Sheet1").Range("A2").End(xlDown) 
    rng.Select 
End Sub 
0

每當你選擇一個範圍,您必須已經選擇編正確的紙張。還修復選擇命令嘗試:

Sub crossUpdate() 
    Dim rng As Range 
    Set rng = Sheet1.Cells.Range("A2").End(xlDown) 
    Sheet1.Select 
    rng.Select 
End Sub 

編輯#1

這個版本將選擇細胞塊:

Sub crossUpdate() 
    Dim rng As Range, N As Long 
    Sheet1.Select 
    N = Cells(Rows.Count, "A").End(xlUp).Row 
    Set rng = Cells.Range("A2:A" & N) 
    rng.Select 
End Sub 
+0

好的,這有效,但它沒有做我認爲會做的事。我將如何修改它,以便它從單元格A2選擇到最後一個填充的單元格。 (到目前爲止它只能選擇最後一個填充的單元格) – 2014-09-24 19:20:08

+0

請參閱我的**編輯#1 ** – 2014-09-24 19:26:50