Почему ячейка длиной 0 с использованием метода Len () равна False при использовании метода IsEmpty ()? - PullRequest
2 голосов
/ 30 апреля 2019

У меня есть ячейка с 2 пробелами в качестве единственного содержимого в ячейке, когда я использую метод len(trim(cell)), он возвращает длину 0, но если я использую IsEmpty(trim(cell)), он возвращает False.Однако IsEmpty() в пустой ячейке возвращает True.Почему это так?

Код, который я использовал:

MsgBox (IsEmpty(Application.WorksheetFunction.Trim(ThisWorkbook.Worksheets("Sheet1").Cells(1, 1))))
MsgBox (Len(Application.WorksheetFunction.Trim(ThisWorkbook.Worksheets("Sheet1").Cells(1, 1))))

1 Ответ

3 голосов
/ 30 апреля 2019

Как Microsoft указывает , функция IsEmpty «Возвращает логическое значение, указывающее, была ли переменная инициализирована».Очевидно, что пустая ячейка считается неинициализированной, а строка - даже пустая - инициализируется.

Вы можете написать собственную функцию для проверки пустых строк:

    Function IsStringEmpty(s As String) As Boolean
        IsStringEmpty = Len(s) = 0
    End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...