У меня есть лист, в котором у меня есть данные из двух разных источников. У меня есть пустая строка между ними. Я хочу сделать эту пустую строку в качестве моего разделителя. Как я могу узнать, пуста ли вся строка или нет?.
Как узнать, свободен ли целая строка в excel deep vba
Ответ 1
Если вы говорите буквальную целую строку, тогда код, подобный этому, должен работать (пока в какой-либо из ячеек нет никаких формул или пробелов):
If Application.CountA(ActiveCell.EntireRow)=0 Then
MsgBox "Row Empty"
Exit Sub
End If
В противном случае для диапазона из строки:
Dim neValues As Range, neFormulas As Range, MyRange As Range
Set MyRange = Columns("C:AA")
On Error Resume Next
Set neValues = Intersect(ActiveCell.EntireRow.SpecialCells(xlConstants), MyRange)
Set neFormulas = Intersect(ActiveCell.EntireRow.SpecialCells(xlFormulas), MyRange)
On Error GoTo 0
If neValues Is Nothing And neFormulas Is Nothing Then
MsgBox "Nothing There"
Else
MsgBox "Something There"
End If
(Источник: http://www.ozgrid.com/forum/showthread.php?t=26509&page=1)
Ответ 2
WorksheetFunction.CountA()
, как показано ниже:
Dim row As Range
Dim sheet As Worksheet
Set sheet = ActiveSheet
For i = 1 To sheet.UsedRange.Rows.Count
Set row = sheet.Rows(i)
If WorksheetFunction.CountA(row) = 0 Then
MsgBox "row " & i & " is empty"
End If
Next i