2010-09-02 133 views

回答

15

如果你談論然後字面整個行類似的代碼這應該工作(只要沒有公式或空間存在於任何細胞以及):

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

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

8

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