Ответы:
См. Статью службы поддержки Microsoft. Как выбрать ячейки / диапазоны с помощью процедур Visual Basic в Excel , № 19 ( Как выбрать весь диапазон смежных ячеек в столбце ).
Попробуй это:
Range(Range("A2"),Range("A2").End(xldown)).Select
или это:
Range(Range(Cells(2, 1), Cells(2, 1)), Range(Cells(65535, 1), Cells(65535, 1)).End(xlUp)).Select
Вы можете использовать сочетания клавиш Excel. Попробуйте Ctrl+ Home.
Это приведет вас к ячейке A1 (если вы не использовали панель замораживания). Перейдите на одну ячейку вниз и затем используйте кнопки Ctrl+ Shift+, Down arrowчтобы выбрать до последней введенной строки.
Если вам нужно выбрать значение столбца, используйте right arrowкнопку вместо down arrowкнопки.
Ссылаясь на этот ответ SO , единственным безопасным методом является .find()
метод.
Все другие методы могут дать неправильные результаты, если вы ранее удалили несколько ячеек.
Пример получения последних ячеек
Lastrow = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
Lastcol = Cells.Find("*", [A1], , , xlByColumns, xlPrevious).Column
И конкретный ответ на ваш вопрос (при условии, что ваши данные в столбце 2, начиная со строки 2)
Range([B2], [B:B].Find("*", [B1], , , xlByRows, xlPrevious)).select