Подтвердить что ты не робот

Как узнать, свободен ли целая строка в excel deep vba

У меня есть лист, в котором у меня есть данные из двух разных источников. У меня есть пустая строка между ними. Я хочу сделать эту пустую строку в качестве моего разделителя. Как я могу узнать, пуста ли вся строка или нет?.

4b9b3361

Ответ 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