Need to Restart an Excel VBA Do...Until Loop -
here's code seek assistance:
for = 1 numplayers replacementdone = 0 until replacementdone <> 0 replacecards = inputbox("blah...blah") if replacecards <> 0 replace100 = application.round((replacecards / 100), 0) if replace100 < 5 players(i, replace100) = deck(deckindex) deckindex = deckindex + 1 else msgbox "invalid entry - try again." end if replace10 = application.round(application.mod(replacecards, 100) / 10, 0) if replace10 < 5 , replace10 > replace100 players(i, replace10) = deck(deckindex) deckindex = deckindex + 1 else msgbox "invalid entry - try again." end if replace1 = application.round(application.mod(replacecards, 10), 0) if replace1 < 5 , replace1 > replace10 players(i, replace1) = deck(deckindex) deckindex = deckindex + 1 else msgbox "invalid entry - try again." end if end if loop next
at each point if
statement untrue , msgbox "invalid entry - try again."
appear, want restart do until
loop. responses i've seen regarding restarting do until
loop address user's code logic rather identifying how restart. appreciated.
one way use "goto" statement, so:
for = 1 numplayers replacementdone = 0 loopstart: until replacementdone <> 0 replacecards = inputbox("blah...blah") if replacecards <> 0 replace100 = application.round((replacecards / 100), 0) if replace100 < 5 players(i, replace100) = deck(deckindex) deckindex = deckindex + 1 else msgbox "invalid entry - try again." goto loopstart end if replace10 = application.round(application.mod(replacecards, 100) / 10, 0) if replace10 < 5 , replace10 > replace100 players(i, replace10) = deck(deckindex) deckindex = deckindex + 1 else msgbox "invalid entry - try again." goto loopstart end if replace1 = application.round(application.mod(replacecards, 10), 0) if replace1 < 5 , replace1 > replace10 players(i, replace1) = deck(deckindex) deckindex = deckindex + 1 else msgbox "invalid entry - try again." goto loopstart end if end if loop next
Comments
Post a Comment