Run-time Error '1004' in excel vba

2019-08-31 00:26发布

For some reason I keep getting a range global runtime error when I try to run the following script. Any help would be greatly appreciated.

Sub crossUpdate()
Dim rng As Range

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

Range(rng).Select



End Sub

2条回答
乱世女痞
2楼-- · 2019-08-31 01:01

Whenever you select a range, you must have already Select ed the proper sheet. Also fix the Select command Try:

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

EDIT#1

This version will Select the block of cells:

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
查看更多
爷、活的狠高调
3楼-- · 2019-08-31 01:02

Try changing your code into:

Sub crossUpdate()
   Dim rng As Range
   ActiveWorkbook.Sheets("Sheet1").Select
   Set rng = ActiveWorkbook.Sheets("Sheet1").Range("A2").End(xlDown)
   rng.Select
End Sub
查看更多
登录 后发表回答