问题
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
回答1:
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
回答2:
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
来源:https://stackoverflow.com/questions/26024574/run-time-error-1004-in-excel-vba