UsedRange, как следует из названия, представляет собой диапазоны, в которых в качестве некоторых значений пустые ячейки не включаются в используемые диапазоны, поэтому в VBA Используемые диапазоны — это свойство объекта диапазона в VBA для тех диапазонов ячеек в строки и столбцы, которые не пусты и содержат некоторые значения.
Используемый диапазон в VBA Excel
UsedRange в VBA — это свойство рабочего листа, которое возвращает объект диапазона, представляющий используемый диапазон (все ячейки Excel, используемые или заполненные на рабочем листе) на конкретном рабочем листе. Это свойство, представляющее область, покрытую или ограниченную верхней левой используемой ячейкой и последней правой используемой ячейкой на рабочем листе.
Мы можем описать «Используемую ячейку» как ячейку, содержащую любую формулу, форматирование, значение и т. Д. Мы также можем выбрать последнюю использованную ячейку, нажав клавиши CTRL + END на клавиатуре.
Ниже приведена иллюстрация UsedRange на листе:
На приведенном выше снимке экрана мы видим, что UsedRange равен A1: D5.
Примеры свойства Excel VBA UsedRange
Давайте рассмотрим несколько примеров ниже, чтобы увидеть, как можно использовать свойство UsedRange на листе для поиска использованного диапазона. диапазон в VBAДиапазон в VBAДиапазон — это свойство в VBA, которое помогает указать конкретную ячейку, диапазон ячеек, строку, столбец или трехмерный диапазон. В контексте рабочего листа Excel объект диапазона VBA включает одну или несколько ячеек, распределенных по различным строкам и столбцам.читать далее:
Допустим, у нас есть файл Excel, содержащий два рабочих листа, и мы хотим найти и выбрать используемый диапазон на Листе1.
Давайте посмотрим, что содержит Sheet1:
Для выполнения этой задачи мы используем свойство UsedRange в окне Immediate VBA. Немедленное окно VBA — это инструмент, который помогает получить информацию о файлах Excel, быстро выполнить или отладить любой код VBAКод VBAКод VBA относится к набору инструкций, написанных пользователем на языке программирования приложений Visual Basic в редакторе Visual Basic (VBE) для выполнения определенной задачи.читать далее, даже если пользователь не пишет никаких макросов. Он находится в редакторе Visual Basic, и к нему можно получить доступ следующим образом:
Перейти к Вкладка «Разработчик» ExcelВкладка «Разработчик» ExcelВключение вкладки разработчика в Excel может помочь пользователю выполнять различные функции для VBA, макросов и надстроек, таких как импорт и экспорт XML, разработка форм и т. д. Эта вкладка по умолчанию отключена в Excel; таким образом, пользователю необходимо сначала включить его в меню параметров.читать далее, а затем щелкните Редактор Visual Basic или нажмите Alt + F11 чтобы открыть окно редактора Visual Basic.
При этом открывается окно следующего вида:
Нажмите Ctrl+G , чтобы открыть непосредственное окно, и введите код.
Непосредственное окно выглядит так:
Следующий код выберет используемый диапазон на Sheet1.
Первый оператор кода активирует Sheet1 файла, а второй оператор выберет используемый диапазон на этом активном листе.
При написании этого кода мы видим, что диапазон, используемый в Sheet1, выбирается следующим образом:
Пример #2
Теперь, скажем, в этом примере мы хотим найти общее количество строк, используемых в Sheet1. Для этого мы выполняем следующие шаги:
Создайте имя макроса в модуле.
Код:
Sub TotalRows()
End Sub
Определите переменную TotalRow как Целое число в VBAЦелое число в VBAВ VBA целое число — это тип данных, который может быть присвоен любой переменной и использоваться для хранения целочисленных значений. В VBA скобка для максимального числа целочисленных переменных, которые можно сохранить, аналогична скобке в других языках. Используя оператор DIM, любую переменную можно определить как целочисленную переменную.читать далее:
Код:
Sub TotalRows()
Dim TotalRow As IntegerEnd Sub
Теперь присвойте переменной TotalRow формулу для расчета общего количества строк:
Код:
Sub TotalRows()
Dim TotalRow As Integer
TotalRow = ActiveSheet.UsedRange.Rows.Count
End Sub
Теперь результирующее значение TotalRow можно отобразить и вернуть. с помощью окна сообщения VBAИспользование окна сообщений VBAФункция VBA MsgBox — это функция вывода, которая отображает обобщенное сообщение, предоставленное разработчиком. Этот оператор не имеет аргументов, и персонализированные сообщения в этой функции записываются в двойных кавычках, а для значений предоставляется ссылка на переменную.читать далее (MsgBox) следующим образом:
Код:
Sub TotalRows()
Dim TotalRow As Integer
TotalRow = ActiveSheet.UsedRange.Rows.Count
MsgBox TotalRow
End Sub
Теперь мы запускаем этот код вручную или нажав F5, и мы получаем общее количество строк, используемых в Sheet1, отображаемое в окне сообщения следующим образом:
Итак, на приведенном выше снимке экрана мы видим, что в окне сообщения возвращается «5», и, как мы видим на Листе 1, общее количество строк в используемом диапазоне равно 5.
Пример №3
Точно так же, если мы хотим найти общее количество столбцов, используемых в Sheet1, мы выполним те же шаги, что и выше, за исключением небольшого изменения в коде следующим образом:
Код:
Sub TotalCols()
Dim TotalCol As Integer
TotalCol = ActiveSheet.UsedRange.Columns.Count
MsgBox TotalCol
End Sub
Теперь, когда мы запускаем этот код вручную или нажав F5, мы получаем общее количество столбцов, используемых в Sheet1, отображаемое в окне сообщения следующим образом:
Итак, в окне сообщения возвращается «4», и, как мы видим на Листе 1, общее количество столбцов в используемом диапазоне равно 4.
Пример №4
Теперь предположим, что мы хотим найти последний использованный номер строки и столбца на Листе2 файла. Давайте посмотрим, что содержит Sheet2:
Для этого мы выполняем следующие шаги:
Создайте имя макроса в модуле.
Код:
Sub LastRow()
End Sub
Определите переменную LastRow как Integer.
Код:
Sub LastRow()
Dim LastRow As IntegerEnd Sub
Теперь присвойте переменной LastRow формулу для вычисления номера последней использованной строки:
Код:
Sub LastRow()
Dim LastRow As Integer
LastRow = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
End Sub
Метод SpecialCells в Excel VBA возвращаетVBA возвращает«GoSub» в операторе возврата GoSub означает, что он перейдет к указанной строке кода и завершит задачу, пока не найдет оператор «Возврат». Это спасение для тех, кто знаком с кодированием VBA и вне его.читать далее объект диапазона, который представляет только указанные типы ячеек. Синтаксис метода SpecialCells:
RangeObject.SpecialCells (Type, Value)
В приведенном выше коде xlCellTypeLastCell: представляет последнюю ячейку в используемом диапазоне.
Примечание: «xlCellType» будет включать даже пустые ячейки, для которых был изменен формат по умолчанию любой из их ячеек.
Теперь результирующее значение числа LastRow можно отобразить и вернуть с помощью окна сообщения (MsgBox) следующим образом:
Код:
Sub LastRow()
Dim LastRow As Integer
LastRow = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
MsgBox LastRow
End Sub
Теперь мы запускаем этот код вручную или нажав F5, и мы получаем последний использованный номер строки в Sheet2, отображаемый в окне сообщения следующим образом:
Итак, на приведенном выше снимке экрана мы видим, что в окне сообщения возвращается «12», и, как мы видим на Листе2, последний использованный номер строки — 12.
Точно так же, если мы хотим найти номер последнего использованного столбца в Sheet2, мы выполним те же шаги, что и выше, за исключением небольшого изменения кода следующим образом:
Код:
Sub LastCol()
Dim LastCol As Integer
LastCol = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column
MsgBox LastCol
End Sub
Теперь, когда мы запускаем этот код вручную или нажав F5, мы получаем номер последнего использованного столбца в Sheet2, отображаемый в окне сообщения следующим образом:
Итак, на приведенном выше снимке экрана мы видим, что в окне сообщения возвращается «3», и, как мы видим на Листе2, последний использованный номер столбца — 3.
Что нужно помнить о VBA UsedRange
VBA UsedRange — это прямоугольный диапазон.
VBA UsedRange включает ячейки, имеющие какие-либо данные или отформатированные и т. д.
Excel VBA UsedRange не обязательно включает верхнюю левую ячейку рабочего листа.
UsedRange не обязательно считает активную ячейку используемой.
UsedRange можно использовать для нахождения последняя использованная строка в VBAПоследняя использованная строка в VBAМетод End(XLDown) чаще всего используется в VBA для поиска последней строки, но есть и другие методы, например поиск последнего значения в VBA с помощью функции поиска (XLDown).читать далее и сбросить используемый диапазон и т. д.
Нажатие горячие клавиши ExcelСочетания клавиш ExcelЯрлык Excel — это способ более быстрого выполнения ручного задания.читать далее CTRL+SHIFT+ENTER на клавиатуре можно использовать для расширения выделения с активной ячейки на последнюю использовавшуюся ячейку на листе.