Как использовать свойство usedrange в vba?

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

используемое свойство диапазона

Примечание. Свойство UsedRange доступно только для чтения .

Напишите код с помощью UsedRange

Используйте следующий код.

  1. Сначала вам нужно указать таблицу.
  2. Затем введите точку (.) и введите «UsedRange».
  3. После этого используйте свойство или метод, который вы хотите использовать.
  4. В конце запустите код.
 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

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

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

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