Vba: как найти последний использованный столбец


Вы можете использовать следующий базовый синтаксис в VBA, чтобы найти последний использованный столбец в листе Excel:

 Sub FindLastColumn()
Range(" A14 ") = Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column
End Sub

В этом конкретном примере выполняется поиск последнего использованного столбца на текущем листе и возвращается результат в ячейку A14 .

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

 Sub FindLastColumn()
Dim LastCol As Long
    
LastCol=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column

MsgBox " Last Column: " & LastCol
End Sub

Следующие примеры показывают, как использовать каждый из этих методов на практике.

Связанный: VBA: как найти последнюю использованную строку

Пример 1. Найдите последний столбец с помощью VBA и отобразите результаты в ячейке.

Допустим, у нас есть следующий набор данных в Excel, содержащий информацию о различных баскетболистах:

Мы можем создать следующий макрос, чтобы найти последний столбец, использованный в этом листе Excel, и отобразить результат в ячейке A14 :

 Sub FindLastColumn()
Range(" A14 ") = Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column
End Sub

Когда мы запускаем этот макрос, мы получаем следующий вывод:

Обратите внимание, что ячейка A14 содержит значение 2 .

Это говорит нам о том, что последний столбец, использованный на этом конкретном листе, — это столбец 2.

Также стоит отметить, что если у вас есть пустые столбцы перед использованным столбцом, этот макрос всегда найдет последний использованный столбец.

Например, предположим, что мы запускаем макрос для следующего набора данных:

Ячейка A14 содержит значение 5 , поскольку это последний столбец, содержащий значения.

Пример 2. Найдите последний столбец с помощью VBA и отобразите результаты в окне сообщения.

Предположим, что вместо этого мы хотим найти последний использованный столбец на листе и отобразить номер столбца в окне сообщения.

Для этого мы можем создать следующий макрос:

 Sub FindLastColumn()
Dim LastCol As Long
    
LastCol=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column

MsgBox " Last Column: " & LastCol
End Sub

Когда мы запускаем этот макрос, мы получаем следующий вывод:

VBA найти последний использованный столбец

В окне сообщения сообщается, что последний столбец, использованный на листе, — это столбец 2 .

Примечание . Полную документацию по методу Find VBA можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:

VBA: Как рассчитать среднее значение диапазона
VBA: как подсчитать количество строк в диапазоне
VBA: Как удалить повторяющиеся значения в диапазоне

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *