как заставить len работать в VBA через диапазон? - PullRequest
0 голосов
/ 04 мая 2020
For Each cell In Sheet7.Range("C:C")
    If Len(cell.Value) <> 6 Then
        MsgBox " has the wrong length"
        Exit Sub
    End If
Next cell

Это, похоже, не работает: (

Он должен обнаружить, если хотя бы одна ячейка в данном диапазоне не равна 6 цифрам, сгенерировать окно сообщения и выйти из подпрограммы.

1 Ответ

2 голосов
/ 04 мая 2020

Поскольку вы используете len(), вы проверяете длину строки в одной ячейке. Если вы хотите увидеть, имеют ли все ячейки диапазона определенную длину, вам понадобится al oop.

EDIT # 1:

Например:

Sub qwerty()
    Dim cell As Range
    For Each cell In Intersect(Range("C:C"), ActiveSheet.UsedRange)
        If Len(cell.Value) <> 6 Then
            MsgBox cell.Address & " has the wrong length"
        End If
    Next cell
End Sub

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...