Определение с помощью кода VBA Excel, что диапазон ячеек пуст, то есть, ни одна из ячеек диапазона (строки, столбца) не содержит отображаемого значения.
Определение пустого диапазона
Определить в VBA Excel, что диапазон ячеек пуст, можно с помощью функции рабочего листа WorksheetFunction.CountA или свойства диапазона ячеек Range.Text.
Пример 1
Определение, что диапазон ячеек пуст, с помощью функции рабочего листа WorksheetFunction.CountA:
1 2 3 4 5 6 7 |
Sub Primer1() If WorksheetFunction.CountA(Range("A1:L8")) = 0 Then MsgBox "Диапазон ячеек ""A1:L8"" пуст" Else MsgBox "Диапазон ячеек ""A1:L8"" не пуст" End If End Sub |
Функция WorksheetFunction.CountA подсчитывает количество ячеек, содержащих значения, в том числе нули и формулы, возвращающие пустые строки. Если хотя бы одна ячейка в диапазоне будет содержать пустую строку, возвращенную формулой, то код первого примера определит, что диапазон не пуст.
Пример 2
Определение, что диапазон ячеек пуст, с помощью свойства Text объекта Range:
1 2 3 4 5 6 7 |
Sub Primer2() If Range("A1:L8").Text = "" Then MsgBox "Диапазон ячеек ""A1:L8"" пуст" Else MsgBox "Диапазон ячеек ""A1:L8"" не пуст" End If End Sub |
Свойство Text объекта Range возвратит пустую строку только в том случае, если все ячейки диапазона будут содержать пустые строки и (или) значение Empty. Если одна или более ячеек в диапазоне будут содержать пустую строку, возвращенную формулой, то код второго примера все-равно определит, что диапазон пуст.
Определение пустой строки
Определение пустой строки в VBA Excel с помощью свойства Range.Text:
1 2 3 4 5 6 7 |
Sub Primer3() If Rows(5).Text = "" Then MsgBox "Указанная строка пуста" Else MsgBox "Указанная строка не пуста" End If End Sub |
Данное определение пустой строки используется в коде для удаления пустых строк из таблицы.
Определение пустого столбца
Определение пустого столбца в VBA Excel с помощью свойства Range.Text:
1 2 3 4 5 6 7 |
Sub Primer4() If Columns(7).Text = "" Then MsgBox "Указанный столбец пуст" Else MsgBox "Указанный столбец не пуст" End If End Sub |
или
1 2 3 4 5 6 7 |
Sub Primer5() If Columns("G").Text = "" Then MsgBox "Указанный столбец пуст" Else MsgBox "Указанный столбец не пуст" End If End Sub |
Фразы для контекстного поиска: диапазон пустой, строка пустая, столбец пустой.