Run-time Error '1004' in excel vba

自古美人都是妖i 提交于 2020-01-16 18:42:36

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!