Найдите последнее значение (не последнюю строку) в столбце - PullRequest
1 голос
/ 11 июля 2020

У меня есть рабочий лист с таблицей, которая постоянно обновляется, поэтому количество строк в ней варьируется. Меня интересует получение последнего значения в столбце B. Однако сложность заключается в том, что не все строки в этом столбце таблицы имеют значение. Иногда следующая ячейка с фактическим значением может быть чуть ниже предыдущей, а иногда между ними может быть много пустых пробелов.

Я попытался использовать следующий код для этого:

LastValue = Cells(Rows.Count, "B").End(xlUp).Value

Проблема, с которой я столкнулся, возникает в очень специфическом c сценарии. Если мы предположим, что последняя ячейка со значением в столбце - B6, но последняя ячейка таблицы, соответствующая этому столбцу, - B10, полученное значение будет пустым (то есть в B10). Мне нужно найти ячейку B6 и передать это значение переменной LastValue. Есть какой-либо способ сделать это? Я мог найти только примеры кода, чтобы найти последнюю строку всего рабочего листа, игнорируя отдельные столбцы.

1 Ответ

0 голосов
/ 11 июля 2020

Этот код работает ниже, если ваш рабочий лист называется Sheet1, а таблица Table 1.

Sub FindLastRowInExcelTable()

Dim lastrow As Long
Dim ws As Worksheet
Set ws = Sheets("Sheet1")

lastrow = ws.ListObjects("Table1").Range.Columns(2).Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

End Sub

Вы можете изменить Columns(2), чтобы изменить столбец, который вы хотите подсчитать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...