Оглавление
В VBA вы можете использовать различные методы для поиска последней строки. В этой статье я собираюсь объяснить различные методы VBA для поиска последней строки в Excel.
Чтобы сделать это объяснение наглядным, я собираюсь использовать пример набора данных. В наборе данных есть 4 столбца, представляющие информацию о продажах. Эти столбцы следующие Торговый агент, регион, продукт, и Цена .
Скачать Для практики
VBA Найти последнюю строку.xlsmСпособы VBA Найти последнюю строку в Excel
1. Использование SpecialCells для поиска последней строки
Вы можете использовать SpecialCells метод для поиска последней строки с помощью VBA .
Сначала откройте Разработчик вкладка>>, затем выберите Visual Basic
Новое окно Microsoft Visual Basic для приложений появится.
Теперь из Вставка >> выбрать Модуль
A Модуль будет открыта.
Затем напишите следующий код в Модуль .
Sub LastRow_SpecialCells() Dim LastRow As Long LastRow = Range("A:A").SpecialCells(xlCellTypeLastCell).Row MsgBox LastRow End Sub
Здесь я создал подпроцедуру под названием LastRow_SpecialCells , где a Длинный тип переменной LastRow было объявлено.
Затем определите переменную с помощью Range.SpecialCells Здесь я использовал метод column A ( A:A ) как диапазон. Обеспечивается xlCellTypeLastCell в качестве параметра типа SpecialCells это вернет последнюю ячейку диапазона (в данном случае из столбца A ).
Я использовал окно сообщения, чтобы показать результат.
После этого, Сохранить код и вернуться к рабочему листу.
Снова откройте Посмотреть вкладка>> от Макросы >> выбрать Просмотр макросов
Затем, а диалоговое окно появится.
Теперь из Имя макроса выбрать LastRow_SpecialCells также выберите рабочую книгу внутри Макросы в .
Наконец-то, Запускайте выбранный Макро .
Таким образом, появится окно сообщения с номером последней строки.
2. Использование Rows.Count для непустых ячеек
Вы можете использовать Rows.Count метод для поиска последней строки с помощью VBA .
Теперь откройте Разработчик вкладка>>, затем выберите Visual Basic
Новое окно Microsoft Visual Basic для приложений появится.
Теперь из Вставка >> выбрать Модуль
A Модуль будет открыта.
Затем напишите следующий код в Модуль .
Sub LastRow_NonEmpty() Dim LastRow As Long LastRow = Cells(Rows.Count, 1).End(xlUp).Row MsgBox LastRow End Sub
Здесь я создал подпроцедуру под названием LastRow_NonEmpty, где в качестве параметра выступает Длинный тип переменной LastRow было объявлено.
Сейчас, CELLS(Rows.Count, 1) подсчитает, сколько строк в первом столбце. Затем используется End(xlUp).Row теперь это позволит найти последнюю использованную строку в диапазоне Excel.
В конце я использовал окно сообщения, чтобы показать результат.
Тогда, Сохранить код и вернуться к рабочему листу.
Здесь откройте Посмотреть вкладка>> от Макросы >> выбрать Просмотр макросов
Теперь диалоговое окно появится.
Затем, из Имя макроса выбрать LastRow_NonEmpty также выберите рабочую книгу внутри Макросы в .
Наконец-то, Запускайте выбранный Макро .
Таким образом, появится окно сообщения с номером последней строки.
3. Использование Rows.Count для любого выбранного столбца
Используя любой выбранный столбец в VBA, вы можете найти последний ряд.
Сначала откройте Разработчик вкладка>>, затем выберите Visual Basic
Новое окно Microsoft Visual Basic для приложений появится.
Теперь из Вставка >> выбрать Модуль
A Модуль будет открыта.
Затем напишите следующий код в Модуль .
Sub LastRow_AnyColumn() Dim LastRow As Long LastRow = Range("B" & Rows.Count).End(xlUp).Row MsgBox LastRow End Sub
Здесь я создал подпроцедуру под названием LastRow_AnyColumn, где a Длинный тип переменной LastRow было объявлено.
Затем, в Диапазон учитывая колонку B в качестве параметра, а также Rows.Count подсчитает, сколько строк в данном столбце. B . Далее, используется End(xlup). Row которая найдет последнюю использованную строку в диапазоне Excel.
Наконец, я использовал окно сообщения, чтобы показать результат.
Следующий, Сохранить код и вернуться к рабочему листу.
Затем откройте Посмотреть вкладка>> от Макросы >> выбрать Просмотр макросов
Здесь диалоговое окно появится.
Теперь из Имя макроса выбрать ПоследняяСтрока_КаждыйСтолбец также выберите рабочую книгу внутри Макросы в .
Наконец-то, Запускайте выбранный Макро .
Таким образом, появится окно сообщения с номером последней строки.
Похожие чтения:
- VBA Найти в столбце в Excel (7 подходов)
- Поиск и замена с помощью VBA (11 способов)
- Поиск точного совпадения с помощью VBA в Excel (5 способов)
- Как найти строку с помощью VBA в Excel (8 примеров)
4. Использование UsedRange для поиска последней строки
Вы можете использовать UsedRange свойство рабочего листа, чтобы найти последнюю строку, используя VBA .
Теперь откройте Разработчик вкладка>>, затем выберите Visual Basic
Затем, в новом окне Microsoft Visual Basic для приложений появится.
Теперь из Вставка >> выбрать Модуль
A Модуль будет открыта.
Затем напишите следующий код в Модуль .
Sub LastRow_UsedRange() Dim LastRow As Long LastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row MsgBox "Last Row: " & LastRow End Sub
Здесь я создал подпроцедуру под названием LastRow_UsedRange, где a Длинный тип переменной LastRow было объявлено.
Затем определите переменную с помощью ActiveSheet.UsedRange.Rows также предусмотрен метод ActiveSheet.UsedRange.Rows.Count как параметр ActiveSheet.UsedRange.Rows это вернет последнюю строку.
Я использовал окно сообщения, чтобы показать результат.
Сейчас, Сохранить код и вернуться к рабочему листу.
Затем откройте Посмотреть вкладка>> от Макросы >> выбрать Просмотр макросов
Далее диалоговое окно появится.
Затем, из Имя макроса выбрать LastRow_UsedRange также выберите рабочую книгу внутри Макросы в .
Наконец-то, Запускайте выбранный Макро .
Таким образом, появится окно сообщения с номером последней строки.
5. Использование Range.Find для поиска последней строки
Вы можете использовать Диапазон.Найти метод для поиска последней строки с помощью VBA .
Теперь откройте Разработчик вкладка>>, затем выберите Visual Basic
Здесь открывается новое окно Microsoft Visual Basic для приложений появится.
Теперь из Вставка >> выбрать Модуль
A Модуль будет открыта.
Затем напишите следующий код в Модуль .
Sub Range_Find_Method() Dim LastRow As Long On Error Resume Next LastRow = Cells.Find(What:="*", _ After:=Range("A1"), _ LookAt:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Row On Error GoTo 0 MsgBox "Last Row: " & LastRow End Sub
Здесь я создал подпроцедуру под названием Range_Find_Method, где a Длинный тип переменной LastRow было объявлено.
Затем определите переменную с помощью Cells.Find метод. Здесь объявлено 7 параметров. В Что я использовал параметр ("*"), который найдет первую непустую ячейку. Given A1 как диапазон в После параметр для запуска. В LookAt предоставленный параметр xlPart чтобы просмотреть любую часть текста внутри ячейки.
LookIn:=xlFormulas параметр будет искать формулы, если они есть. SearchOrder:=xlByRows параметр будет перемещаться справа налево, а также пройдёт по каждой строке, пока не найдёт непустую ячейку.
MatchCase:=False параметр скажет Найти не учитывать заглавные и строчные буквы. Когда найдена незаполненная строка, он останавливается и возвращает номер строки.
Я использовал окно сообщения, чтобы показать результат.
Сейчас, Сохранить код и вернитесь на рабочий лист.
Здесь откройте Посмотреть вкладка>> от Макросы >> выбрать Просмотр макросов
Теперь диалоговое окно появится.
Теперь из Имя макроса выбрать Метод поиска диапазона также выберите рабочий лист внутри Макросы в .
Наконец-то, Запускайте выбранный Макро .
Таким образом, появится окно сообщения с номером последней строки.
Заключение
В этой статье я объяснил 5 способов, как VBA Вы можете использовать любой из этих методов, чтобы найти последнюю строку в Excel. Если у вас возникли какие-либо неясности или вопросы относительно этих методов, вы можете прокомментировать их ниже.