VBA (Excel): получить последнюю непустую строку в диапазоне

У меня есть электронная таблица Excel, содержащая данные, подобные приведенным ниже: введите описание изображения здесь

Я хочу проделать определенный набор операций для каждой категории для каждого имени. У меня гарантированно будет пустая ячейка перед каждым новым набором категорий (но не обязательно именами), поэтому, когда я перебираю имена, я делаю следующее, чтобы узнать, что такое последняя строка категории:

rowNum = sheetVariable.Cells(theName.Row + 1, 2).End(xlDown).Row

Это отлично работает, за исключением того, что если существует только одна категория для имени (например, для name4 на изображении в качестве примера), выполняется переход к следующей категории следующего имени.

Есть ли способ сделать это, чтобы он работал и в случае, когда для человека есть только одна строка категории?


person user1205577    schedule 03.12.2013    source источник
comment
Дайте ответ, и я его приму. Это не так элегантно, как я ожидал, но это помогает!   -  person user1205577    schedule 04.12.2013


Ответы (1)


Проверьте, есть ли

sheetVariable.Cells(theName.Row + 2, 2) 

пусто: в противном случае вы можете использовать подход .End(xlDown), в противном случае последняя строка будет theName.Row + 1

person Tim Williams    schedule 04.12.2013