该问题要求创建一个循环,询问最初的是/否问题:您是否正在上大学?如果否,则循环应结束。如果是,则代码应要求用户回答:直到上大学的年限,每年的大学付款额和另一个孩子?如果另一个孩子的答案是肯定的,则循环应重新开始。如果答案为否,则循环应结束。我在拼凑起来时遇到麻烦。
我尝试使用是/否消息框,但是遇到了更改为数字答案并使循环重新开始的问题。
Ans = MsgBox("Saving for college?", vbYesNo)
If Ans = vbNo Then Exit Sub
If Ans = vbYes Then
Dim myvalue As Integer
myvalue = InputBox("Years until college starts?")
Dim value As Integer
value = InputBox("Annual College Payments?")
Ans = MsgBox("Another child?")
Ans = MsgBox(msg, vbYesNo)
If Ans = vbYes**strong text** Then
答案 0 :(得分:0)
以下代码可以为您提供帮助。但是请记住,您必须在消息框和输入框中都处理用户答案(是,否,关闭,取消)。
Option Explicit
Sub test()
Dim Ans1 As Long, value1 As String, value2 As String, Ans2 As String
Ans1 = MsgBox("Saving for college", vbYesNo + vbQuestion)
If Ans1 = vbNo Then
Exit Sub
ElseIf Ans1 = vbYes Then
value1 = InputBox("Years until college starts?")
value2 = InputBox("Annual College Payments?")
Ans2 = MsgBox("Another child", vbYesNo + vbQuestion)
If Ans2 = vbYes Then
'Code
ElseIf Ans2 = vbNo Then
'Code
End If
End If
End Sub
答案 1 :(得分:0)
Option Explicit
Sub Questions()
Dim ans As Long
Dim yearsToCollegeStart As String, annualCollegePayment As String
Do
If MsgBox("Saving for college", vbYesNo + vbQuestion) = vbNo Then Exit Sub
yearsToCollegeStart = InputBox("Years until college starts?")
annualCollegePayment = InputBox("Annual College Payments?")
ans = MsgBox("Another child", vbYesNo + vbQuestion)
Loop while ans = vbYes
End Sub