我想制作一个excel工作表来满足我制作word文档(邮件合并)的需要。
我可以使用IF
这样的功能:
IF(A1=Specific text;Write this text;RUN MACRO with popup box to input other text)
基本上,如果值为真 - 编写预定义的文本,如果它是假的 - 给我弹出框输入新文本?
是的,您可以,但是我不建议这样做,因为每次计算工作表时,如果您的IF()
语句结果为FALSE
,则将显示 InputBox。
但是,如果您坚持,请尝试以下操作:
细胞公式=IF(A1="Something","Result1", AskForResult())
在代码模块中,添加以下内容:
Public Function AskForResult() As String
Dim strUserResponse As String
strUserResponse = InputBox("What result to give?")
AskForResult = strUserResponse
End Function
当 A1 <> "Something" 中的值时,这将显示如下所示的 InputBox
使用 vba 函数即可。如果您的 vba 函数是:
function test() as string
Test = Inputbox("Enter value")
End function
用法:
=if(A1="value", "value1", test)