Страницы: 1
RSS
Function isBoolean
 
Мяв!
Вдруг! Обнаружил! Что в VBA функции isBoolean НЕТ!
Сочинил костыль, но дюже не глянется. Может есть варианты лучше?
Код
Function isBoolean(R As Range) As Boolean
    If CStr(R) = "True" Or CStr(R) = "False" Then isBoolean = True
End Function
Изменено: RAN - 12.03.2021 18:18:52
 
Можно поиграться с

Код
isBoolean = CBool(R)

воспринимает true/false; TRUE/FALSE; 1/0, главное обработать ошибку, если там не эти значения )
Изменено: New - 12.03.2021 18:27:15
 
Код
Function isBoolean(R As Range) As Boolean
    IsBoolean = WorksheetFunction.IsLogical(R.Value)
End Function

:-)
Не?
 
Код
Function isBoolean(R As Range) As Boolean
   isBoolean = TypeName(R.Value) = "Boolean"
End Function
Изменено: Ігор Гончаренко - 12.03.2021 18:31:56
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
А так, не?
Код
Function IsBoolean(iValue)
    Dim v
    On Error Resume Next
    v = CBool(iValue) = iValue
    IsBoolean = (Err.Number = 0)
End Function
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Всем мУрси!
Ігор Гончаренко, отдельное мУрси, похоже именно это и искал

Дим, твой вариант не прокатывает
0, 1, Empty  = ИСТИНА
что не есть ИСТИНА

PS Вариант из #3 также рабочий, но требует WorksheetFunction
Изменено: RAN - 12.03.2021 18:49:57
 
https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/vartype-function
Код
isBoolean =VarType(r) = vbBoolean
Изменено: БМВ - 12.03.2021 19:06:27
По вопросам из тем форума, личку не читаю.
 
Ведмедь спит, спит, но как проснется  :D  !
 
Цитата
RAN написал:
как проснется
так март , коты
Цитата
RAN написал:
Мяв!
,  будят то тут, то там.  :D
Изменено: БМВ - 12.03.2021 19:55:25
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
будят то тут, то  там .
This is not a cat.
This is a drawing of a cat with a sore head.
Изменено: RAN - 12.03.2021 20:24:55
 
Цитата
RAN написал:
Сочинил костыль
Осторожнее с костылями! А то всякое бывает.
Вот горшок пустой, он предмет простой...
Страницы: 1
Наверх