Как использовать свойство 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Когда вы запускаете этот код, он отображает окно сообщения с общим количеством ячеек и количеством пустых ячеек.