我是VBA新手,正在尝试在VBA中创建一个用户定义函数,以确定是否存在标题和性别不匹配。例如:如果头衔是“Mr”,性别是“F”,那么它将返回一个布尔值TRUE(不匹配)。
但是,当性别是“F”,标题是“MR”时,它会一直返回FALSE,因为MR是MRS的子字符串。有没有办法确保它完全匹配?Function GenderTitleMismatch(title As Variant, gender As Variant) As Boolean
title = UCase(trim(title))
gender = UCase(trim(gender))
If gender = "M" And UBound(Filter(Array("MR", "DR"), title)) = -1 Then
GenderTitleMismatch = True
ElseIf gender = "F" and Ubound(Filter(Array("MRS","MS","DR","MISS"), title)) = -1 Then
GenderTitleMismatch = True
Else
GenderTitleMismatch = False
End If
End Function
2条答案
按热度按时间vecaoik11#
您仍然可以使用您的方法,并通过强制使用分隔符来防止子字符串匹配:
但是你可以进一步简化它,像这样:
rsl1atfo2#
标题性别不匹配