VBA,检查每一行是否有特定条件 - 突出显示然后msgbox包含不符合条件的行数

时间:2011-05-05 21:55:32

标签: excel validation vba

我有一个列,我想检查每行的值。第一行不是从第1行开始。单元格中的字符可以是数字或字母或两者的组合。如果单元格中不包含9个字符,我想突出显示它们,然后弹出一个消息框,其中包含多少个单元格不包含9个字符。我使用LEN公式计算字符数。

请帮忙......

1 个答案:

答案 0 :(得分:1)

无论如何,尝试这样的事情。您必须将工作表名称:(Sheet1)和扫描范围:(A3:A100):

Private Sub CommandButton1_Click()

'first clear all previous colors
ThisWorkbook.Worksheets("Sheet1").Range("A3:A100").Interior.ColorIndex = xlNone

counter = 0

For Each c In ThisWorkbook.Worksheets("Sheet1").Range("A3:A100")
   If (Len(c) <> 9) And (c <> "") Then
      c.Interior.ColorIndex = 3
      counter = counter + 1
   End If
Next c

If counter > 0 Then
   MsgBox counter & " cells has length <> 9", vbExclamation + vbOKOnly, "Warning"
End If
End Sub