Format()
возвращает вариант или строку.В вашем случае, в условии, логическое значение необходимо.Variant или String могут быть переданы в логическое значение, но это почти всегда возвращает True
- Функция форматирования
В общем, чтобы убедиться, что значение отформатировано так, как вам нравитсяэто, сделайте форматер в свойствах Textbox()
, а не в коде.
Если вы уверены, что вы хотите сделать это в коде , то сравните двазначения - отформатированные и обязательные для форматирования:
Option Explicit
Public Sub TestMe()
Debug.Print checkFormat("1234-23", "####-##") 'True
Debug.Print checkFormat("1234-523", "####-##") 'False
End Sub
Public Function checkFormat(initialValue As String, neededFormat As String) As Boolean
checkFormat = CBool(initialValue Like neededFormat)
End Function