ti-enxame.com

Como descobrir se uma linha inteira está em branco no Excel por meio do vba

Se você está procurando por uma solução para o seu problema, entre em contato conosco através do formulário abaixo, que responderemos o mais breve possível.

17
gizgok

Se você estiver falando de uma linha inteira literal, um código semelhante a este deve funcionar (desde que não haja fórmulas ou espaços presentes em nenhuma das células):

If Application.CountA(ActiveCell.EntireRow)=0 Then
     MsgBox "Row Empty"
     Exit Sub
End If

Caso contrário, para um intervalo de uma linha:

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's There"
End If

(Fonte: http://www.ozgrid.com/forum/showthread.php?t=26509&page=1 )

24
GotDibbs

WorksheetFunction.CountA(), como demonstrado abaixo:

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
13
Jay