VBA Excel:不是语句和公式

有没有一种方法可以通过以下方式将not语句与函数结合起来:

我希望它能像这个例子一样工作

 MsgBox not False 

它返回True

但是,如果我添加一个函数,而不是布尔语句

 MsgBox not myFunction() 

那么它返回一个mismatch error

myFunction()应该返回TrueFalse

有什么build议么?

您将需要给我们更多的代码,如下所示:

 Public Sub test() MsgBox Not myfunction() End Sub Function myfunction() As Boolean myfunction = False End Function 

只是

 MsgBox Not Application.Evaluate(myFunction) 

什么是myFunction定义为? 如果不是:

 Function myFunction(...) As Boolean '... End Function 

这就是为什么,'不'操作符保留为布尔(真/假)

如果你的function是这样的,只能收到1和0:

 Function myFunction(...) As Integer 

join这个电话:

 MsgBox not CBool(myFunction(...)) 

或者如果你真的想比较文字:

 Function myFunction(...) As String 

那么你将需要:

编辑:不string.compare,(StrComp(Str1,Str2,vbTextCompare)= 0)

希望帮助:)