我有一个代码可以检查某些单元格是否为空(无空或无空)。它给了我一个信息。但是,它看起来效果不好:输出消息总是说该范围内有一些空单元格(列A到H,直到最后一个填充的行),而它相反(总是数据)。 我确切地说,范围的布局是一张桌子! MsgBox(LastRow)每次都等于最后一行也.. 以下是代码的一部分:
Set sht = ThisWorkbook.Worksheets("SS upload")
Set StartCell = Range("A14")
LastRow = sht.Cells(sht.Rows.Count, StartCell.Column).End(xlUp).Row
MsgBox (LastRow)
Set Rrng = Range("A14 : H" & LastRow)
For Each cell In Rrng
If IsEmpty(cell) = True Then
bIsEmpty = True
Exit For
End If
Next cell
If bIsEmpty = True Then
MsgBox "There are empty cells in the file"
Else
MsgBox "All cells have values!"
End If
End Sub
这有什么不妥吗?
感谢您的宝贵帮助! :) 此致
答案 0 :(得分:1)
可能你没有意识到,你正在寻找range(A14:H LAST Row)
因此,如果你有5行,那么范围仍然是范围(A14:H5)。在那里,你有空值。
Public Sub TestME()
Dim bIsEmpty As Boolean
Set sht = ThisWorkbook.Worksheets(2)
Set StartCell = Range("A14")
LastRow = sht.Cells(sht.Rows.Count, StartCell.Column).End(xlUp).row
MsgBox (LastRow)
Set Rrng = Range("A1 : H" & LastRow)
For Each cell In Rrng
If IsEmpty(cell) = True Then
bIsEmpty = True
Exit For
End If
Next cell
If bIsEmpty Then
MsgBox "There are empty cells in the file"
Else
MsgBox "All cells have values!"
End If
End Sub
答案 1 :(得分:0)
这确实很奇怪,因为它有时也会起作用。我的意思是输出消息“所有单元格都有价值”符合文件中的真实内容(根本没有空白),但有时不符合..
这是我的完整代码:
{{1}}
感谢您的支持:)