Как использовать свойство usedrange в vba?
В VBA свойство UsedRange представляет диапазон листа, содержащего данные. Используемый диапазон начинается от первой ячейки на листе, где у вас есть значение, до последней ячейки, где у вас есть значение. Точно так же, как в следующем примере, где вы использовали диапазон от A1 до C11.

Примечание. Свойство UsedRange доступно только для чтения .
Напишите код с помощью UsedRange
Используйте следующий код.
- Сначала вам нужно указать таблицу.
- Затем введите точку (.) и введите «UsedRange».
- После этого используйте свойство или метод, который вы хотите использовать.
- В конце запустите код.
Sub vba_used_range() ActiveSheet.UsedRange.Clear End Sub
Приведенный выше код очищает все из используемого диапазона активного листа.
Скопируйте используемый диапазон
Используйте следующий код, чтобы скопировать весь UsedRange.

Sub vba_used_range() ActiveSheet.UsedRange.Copy End Sub
Подсчет строк и столбцов в используемом диапазоне
Существует свойство count, которое можно использовать для подсчета строк и столбцов используемого диапазона.
MsgBox ActiveSheet.UsedRange.Rows.Count MsgBox ActiveSheet.UsedRange.Columns.Count
Две строки кода выше отображают окно сообщения с количеством строк и столбцов в используемом диапазоне.
Активировать последнюю ячейку в используемом диапазоне
Вы также можете включить последнюю ячейку в используемом диапазоне (это будет последняя ячейка, используемая на листе). Рассмотрим следующий код.

Sub vba_used_range() Dim iCol As Long Dim iRow As Long iRow = ActiveSheet.UsedRange.Rows.Count iCol = ActiveSheet.UsedRange.Columns.Count ActiveSheet.UsedRange.Select Selection.Cells(iRow, iCol).Select End Sub
Этот код получает количество строк и столбцов с помощью свойства UsedRange, а затем использует эти числа для выбора последней ячейки в используемом диапазоне.
Обратитесь к UsedRange на другом листе.
Если вы попытаетесь обратиться к диапазону, используемому на листе, отличном от активного листа, VBA отобразит подобную ошибку.

Поэтому рабочий лист, на который вы ссылаетесь, должен быть активирован (только тогда вы сможете использовать свойство UsedRange).
Sub vba_used_range() Worksheets("Sheet4").Activate Worksheets("Sheet4").UsedRange.Select End Sub
Это означает, что вы не можете ссылаться на диапазон, используемый в закрытой книге. Но вы можете сначала открыть книгу, а затем разрешить листу использовать свойство UsedRange.
Получить адрес используемого диапазона
Используйте следующую строку кода, чтобы получить адрес используемого диапазона.
Sub vba_used_range() MsgBox ActiveSheet.UsedRange.Address End Sub
Подсчет пустых ячеек в используемом диапазоне
В следующем коде используются циклы FOR (для каждого), которые перебирают все ячейки в используемом диапазоне и подсчитывают пустые ячейки.
Sub vba_used_range() Dim iCell As Range Dim iRange As Range Dim c As Long Dim i As Long Set iRange = ActiveSheet.UsedRange For Each iCell In ActiveSheet.UsedRange c = c + 1 If IsEmpty(iCell) = True Then i = i + 1 End If Next iCell MsgBox "There are total " & c & _ " cell(s) in the range, and out of those " & _ i & " cell(s) are empty." End Sub
Когда вы запускаете этот код, он отображает окно сообщения с общим количеством ячеек и количеством пустых ячеек.