VBA, проверьте каждую строку на определенное условие - выделите, тогда msgbox содержит количество строк, не удовлетворяющих условию - PullRequest
0 голосов
/ 06 мая 2011

У меня есть столбец, в котором я хотел бы проверить значение каждой строки. Первый ряд не начинается со строки 1. Символы в ячейке могут быть числом, буквой или комбинацией обоих. Если ячейка не содержит 9 символов, я бы хотел выделить их, а затем всплывающее окно с сообщением, сколько ячеек не содержит 9 символов. Я использую формулу LEN для подсчета символов.

Пожалуйста, помогите ...

1 Ответ

1 голос
/ 06 мая 2011

В любом случае, попробуйте что-нибудь подобное.Вы должны указать имя листа: (Лист1) и диапазон сканирования: (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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...