好的,所以我为用户弹出了一系列输入框,我知道我想检查用户是否点击取消或“X”然后我必须检查其返回值。
EX answer = inputbox(“lelele”)如果answer =“”则结束,否则结束if。
我的问题是我连续有4个输入框,我不想为每个输入框都做一个单独的if语句所以有一种方法我可以在某种try catch块中检查所有三个循环?
以下是我实际使用的代码。请记住,我试图在整个过程中的每一步都取消,所以任何时候任何人点击取消该程序会立即停止运行。
'column you want to first select for copying
ColSelect = InputBox("which column do you want to select ColCopyFrom")
'the column you are comparing it to
ColCompare = InputBox("which column do you want to compare to ")
'where you are copying data from
ColCopyFrom = InputBox("which column do you want to copy data ColCopyFrom")
'where you are copying data to
ColCopyTo = InputBox("which column do you want to copy data to")
<
这就是我想要为每个盒子做的事情
if ColSelect = "" then
exit
else
'do nothing
end if
if ColCompare = "" then
exit
else
end if
答案 0 :(得分:1)
你可以将输入框包装成一个函数,将提示作为参数传递给这样的参数并使用END来打破:
Function myInputBox(prompt As String) As String
Dim ib As String
ib = InputBox(prompt)
If ...
'... do some checking here
Else
End 'stop dead here
End if
myInputBox = ib
End Function
另一方面,您可能会考虑使用UserForm代替增强可用性。
答案 1 :(得分:0)
你能创建一个函数并调用它来检查每个输入吗?通过创建一个函数,一旦你可以根据需要多次调用它,在你的情况下4次。当您调用该函数时,您可以替换该变量以检查
'first inputbox
Call checker(ColSelect)
'second input box
Call checker(ColCompare)
'etc
这是要检查的功能,您将看到变量名称是取消。这将输入变量(在示例ColSelect中),然后为其指定新名称。这可以是你喜欢的任何东西
sub checker(cancel)
if cancel = "" then
exit
else
'do nothing
end if
end Sub