我正在尝试运行代码来验证列“K”。如果列“K”中的任何单元格为空,则弹出错误消息,单元格应变为红色。我尝试了以下代码,它正在运行。以下是我的问题。 我运行宏。 宏检测到Null单元格并弹出错误消息。 我删除了Null单元格的行。 再次运行宏。 错误信息再次弹出。 K列的最后一个单元格变为红色,尽管该行没有任何数据。
这是我正在使用的代码
Sub Errormsg ()
count2 = Range("B:B").SpecialCells(xlLastCell).Row
For n = 2 To count2
If Range("K" & n).Value = vbNullString Then
Range("K" & n).Interior.ColorIndex = 3
MsgBox "Error ! Null value "
Exit Sub
End If
Next n
End Sub
答案 0 :(得分:1)
使用另一列(如ID或永远不会空白的内容)并在IF语句中使用它
Sub Errormsg ()
count2 = Range("B:B").SpecialCells(xlLastCell).Row
For n = 2 To count2
If Range("K" & n).Value = vbNullString AND Range("A" & n).Value <> "" Then
Range("K" & n).Interior.ColorIndex = 3
MsgBox "Error ! Null value "
Exit Sub
End If
Next n
End Sub
答案 1 :(得分:0)
实际上,您的代码也在最后一行工作。只需从循环中删除最后一行。没关系。
Sub Errormsg ()
count2 = Range("B:B").SpecialCells(xlLastCell).Row
For n = 2 To count2 - 1 'Just modify it
If Range("C" & n).Value = vbNullString Then
Range("C" & n).Interior.ColorIndex = 3
MsgBox ("Error ! Null value ")
Exit Sub
End If
Next n
End Sub