首页 > 解决方案 > 重复后vba中的Sub问题

问题描述

你好,我对子有问题

Sub lab1_5()
Dim displayText As String
Do

number = InputBox("Write number: ")

For i = 1 To 9
    
    number = number * 2
    displayText = displayText & " " & number

Next i
MsgBox displayText
Dim answer As VbMsgBoxResult
    answer = MsgBox("KONIEC" & vbNewLine & "Chcesz spróbować jeszcze raz?", vbYesNo)
Loop While (answer = vbYes)
End Sub

如果我写例如 2 它显示 2 4 8 16 等,然后单击是并写另一个数字后,我有以前的(2 4 8 等)和新数字。我怎样才能修复它,所以我只有新号码?

标签: vba

解决方案


您需要displayText在 do 循环开始时重置为空字符串。

Sub lab1_5()
Dim displayText As String
Do

Number = InputBox("Write number: ")
displayText = "" '<--- this line here
For i = 1 To 9
    
    Number = Number * 2
    displayText = displayText & " " & Number

Next i
MsgBox displayText
Dim answer As VbMsgBoxResult
    answer = MsgBox("KONIEC" & vbNewLine & "Chcesz spróbowac jeszcze raz?", vbYesNo)
Loop While (answer = vbYes)
End Sub

推荐阅读