gpt4 book ai didi

vba - Excel 宏 YesNo 消息框,Yes 和 No 的不同方向

转载 作者:行者123 更新时间:2023-12-04 21:59:29 24 4
gpt4 key购买 nike

用户在 YesNo 消息框中有两个选项。如果否,它会执行一定的过滤器序列,但如果用户对消息框问题回答是,我想过滤另一列。目前,在“Else”处,我收到一条错误消息,内容为“编译错误:赋值左侧的函数调用必须返回 Variant 或 Object” ,但仅在用户选择否时过滤。

If MsgBox("Is This Item Catch Weight?", vbYesNo) = vbNo Then
retval = InputBox("Please Enter PO Cost")
ActiveSheet.Range("$A$1:$CL$293662").AutoFilter Field:=71, Criteria1:="=" & retval
retval = InputBox("Please Enter Net Weight")
ActiveSheet.Range("$A$1:$CL$293662").AutoFilter Field:=41, Criteria1:="=" & retval
Else: MsgBox("Is This Item Catch Weight?", vbYesNo) = vbYes
retval = InputBox("Please Enter PO Cost")
ActiveSheet.Range("$A$1:$CL$293662").AutoFilter Field:=71, Criteria1:="=" & retval
End If
End If

最佳答案

这里正在发生一些事情。 : VBA代码中的换行符所以一行像

Else: MsgBox("Is This Item Catch Weight?", vbYesNo) = vbYes

实际上是一样的
Else
MsgBox("Is This Item Catch Weight?", vbYesNo) = vbYes

这不是你想要的。

还有一个额外的 End If在最后。删除它。

多次调用消息框可能也不是oyu想要的。可能您想显示消息框,获取结果然后对其进行处理。
Dim response As VbMsgBoxResult
response = MsgBox("Is This Item Catch Weight?", vbYesNo)
If response = vbNo Then
'do stuff for yes
ElseIf response = vbYes Then
' do stuff for No
End If

我还建议不要使用 ActiveSheet除非你确定那是你想要的。

关于vba - Excel 宏 YesNo 消息框,Yes 和 No 的不同方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37819505/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com