2013-10-08 4 views
4

У меня есть проект на макросе excel, мне нужно выделить следующую последнюю строку с пустым значением. пример ячейки A1: A100 имеют данные, а следующая ячейка A101 пуста.VBA Перейти к последней пустой строке

, когда пользователь нажимает на кнопку она должна подчеркнуть A101 клеток ...

ответ

9

Если вы уверены, что вам нужен только столбец A, то вы можете использовать функцию конца в VBA для получения этого результата.

Если все ячейки A1: A100 заполнены, а затем, чтобы выбрать следующую пустую использование клеток:

Range("A1").End(xlDown).Offset(1, 0).Select 

Здесь End (xlDown) является эквивалентом выбора A1 и нажав Ctrl + Стрелка вниз.

Если в A1: A100 имеются пустые ячейки, вам нужно начинать снизу и работать вверх. Вы можете сделать это путем объединения использования Rows.Count и End (xlUp), например так:

Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select 

Идя еще дальше, это может быть обобщен для выбора диапазона ячеек, начиная с точки вашего (не только в колонке А). В следующем коде предположим, что у вас есть значения в ячейках C10: C100, при этом пустые ячейки перемежаются между ними. Вы хотите выбрать все ячейки C10: C100, не зная, что столбец заканчивается в строке 100, начиная с ручного выбора C10.

Range(Selection, Cells(Rows.Count, Selection.Column).End(xlUp)).Select 

выше линии, пожалуй, одна из наиболее важных линий, чтобы знать, как программист VBA, так как она позволяет динамически выбирать диапазоны, основанные на очень немногих критериев, а не возиться с пустыми клетками в середине.

1

попробовать это:

Sub test() 

With Application.WorksheetFunction 
    Cells(.CountA(Columns("A:A")) + 1, 1).Select 
End With 

End Sub 

Надеется, что это работает для вас.

+0

Что делать, если я начну на конкретном примере столбца A13: A1000 –

Смежные вопросы