«Ошибка 424 Требуется объект» при запуске макроса, который выбирает динамический столбец - PullRequest
0 голосов
/ 31 мая 2018

Я хотел записать макрос, который выделяет весь столбец, используя Ctrl + Shift + End , но это невозможно без использования VBA.

Это мой код:

Sub updatestrial()

    Range(Range("A1"), Range("A1").End(xlDown)).Select.AdvancedFilter            Action:=xlFilterCopy, CopyToRange:=Range( _
    "H5"), Unique:=True

End Sub

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

У вас там ненужный .Select.Попробуйте:

Sub UpdatesTrial()
    Range(Range("A1"), Range("A1").End(xlDown)).AdvancedFilter _
        Action:=xlFilterCopy, _
        CopyToRange:=Range("H5"), _
        Unique:=True
End Sub
0 голосов
/ 31 мая 2018

Вам не нужно выбирать в VBA

Sub updatestrial()

Range(Range("A1"), Range("A1").End(xlDown)).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("H5"), Unique:=True

 End Sub

Но это будет работать только в том случае, если в ваших данных нет пробелов, и вы не указали лист в явном виде, поэтому он будет работать только стекущий активный лист.Если вам нужны все данные в столбце A листа с именем «Sheet1», то лучшим решением будет

 Sub updatestrial()
 Dim r as Range
 Dim ws as worksheet
 Set ws  = worksheets("Sheet1")
 Set r = ws.range(ws.range("A1"),ws.cells(ws.rows.count,1).end(xlup))
  r.advancedfilter Action:=xlFilterCopy, CopyToRange:=ws.Range("H5"), Unique:=True
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...