2014-09-24 187 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