有没有人可以在 VBA 的 msgbox 中包含 if 语句?我似乎无法通过搜索找到合适的解决方案……
解释一下,假设我有三个单元格,a1 和 a2,如果其中任何一个为空,我希望将一个单词包含在 msgbox 中。
所以我想要类似的东西
Sub xx
Msgbox if a1 = "" include "word one" end if & if a2="" include "word two" end if
End sub
我知道我可以使用
if
msgbox 之外的语句,但我的问题有点大,需要超过 1000 种组合。
最佳答案
MsgBox
将字符串作为第一个参数。所以你不能包含像 If
这样的语句。在里面。但是你可以使用 If
构建一个字符串并将该字符串传递给 MsgBox
像这样:
Sub xx()
Dim message As String
If a1 = "" Then
message = "word one"
End If
If a2 = "" then
message = message & "word two"
End if
MsgBox message
End Sub
或者如果你真的想要它在一行中,你可以使用
IIF
这是一种内联 if (有重要区别,但在您的特定用例中并不重要)Sub xx()
MsgBox IIF(a1 = "", "word one","") & IIF(a2="", "word two", "")
End Sub
关于excel - MsgBox 中的 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39274924/