王道の FizzBuzz
Sub Initialize Dim inputNum As String Dim outputNum As String Dim wNum As Variant Dim num As Integer Dim i As Integer Dim z As Integer inputNum = "" outputNum = "" z = 0 entry: inputNum = InputBox$("数字入力", "FizzBuzz") If IsNumeric(inputNum) = False Then GoTo msg ElseIf inputNum <= 0 Then GoTo msg End If num = CInt(inputNum) '1は最初で入れとく outputNum = "1" + Chr(10) + Chr(13) For i = 2 To num wNum = "" If i Mod 3 = 0 Then wNum = "Fizz" End If If i Mod 5 = 0 Then wNum = wNum + "Buzz" End If If wNum = "" Then wNum = i End If outputNum = outputNum + wNum + Chr(10) + Chr(13) Next MsgBox outputNum Exit Sub msg: MsgBox "整数いれて!" z = z + 1 If z = 3 Then MsgBox "exit!" Exit Sub GoTo entry End If End Sub
こんなもんでしょうか。
(ちょっとカンニングしましたが)
ゼロ以上の数値が入力されているかのチェックを入れて、それ以外のものが3回入力されたら処理終了するようにしました。