'
'
Sub Goto00() 'Gotoの使い方
Dim A As Long
A = InputBox("1~1000の間の数値を入力してください")
If A <= 500 Then
GoTo Jump02 '入力した数値が500以下の場合は、Jump02へ
Else
GoTo Jump01 '入力した数値が500を超える場合は、Jump01へ
End If
Jump01:
Range("A1") = 500 'セルA1に500を代入
A = A - 500 'Aの値から500を引く
Jump02:
Range("A2") = A 'A値をセルA2へ代入
End Sub
’
① C列のセルが空白セルでループから抜ける:Jump01へ
② C列のセルの値が数値が判定します。(文字の場合は、スキップ)
③ C列のセルの値が数値の場合は、数値を集計
④ ループから抜けて、集計値をC列の最終行に合計値として表示
'
'''******** AKIRA55.COM ******* https://akira55.com/goto/
'
Sub Goto01() 'Gotoを利用したループ・データ集計
Dim I, Total As Long
Total = 0 '合計値を0にする。
I = 1
Loop01:
If Cells(I, "C") = "" Then
GoTo Jump01 '空白セルでループから抜ける。
ElseIf IsNumeric(Cells(I, "C")) Then 'セルの値が数値が調べる。
Total = Total + Cells(I, "C") 'C列の数値セルを加算します。
End If
I = I + 1 '+1で行を加算します。
GoTo Loop01 'Gotoでループします。
Jump01:
Cells(I, "B") = "合計"
Cells(I, "C") = Total 'C列の最終行に合計値を表示
End Sub
'
① 数値をランダムで生成(1~5)
② 生成された数値に応じてジャンプします。(行ラベルへジャンプ)
③ ジャンプ先に応じておみくじメッセージを表示します。
'
'''******** AKIRA55.COM ******* https://akira55.com/goto/
'
Sub Goto02() 'Gotoを利用して条件によりジャンプする。
Dim RND_int As Integer
RND_int = WorksheetFunction.RandBetween(1, 5) '1~5の数字をランダム発生します。
Select Case RND_int
Case Is = 1
GoTo RND1: '1の場合は、RND1へジャンプ
Case Is = 2
GoTo RND2: '2の場合は、RND2へジャンプ
Case Is = 3
GoTo RND3: '3の場合は、RND3へジャンプ
Case Is = 4
GoTo RND4: '4の場合は、RND4へジャンプ
Case Is = 5
GoTo RND5: '5の場合は、RND5へジャンプ
End Select
RND1:
MsgBox "おめてどう大吉です。" 'メッセージボックスで表示し終了
Exit Sub
RND2:
MsgBox "欲しい中吉です。" 'メッセージボックスで表示し終了
Exit Sub
RND3:
MsgBox "まあまあ小吉です。" 'メッセージボックスで表示し終了
Exit Sub
RND4:
MsgBox "次回にチャンス吉です。" 'メッセージボックスで表示し終了
Exit Sub
RND5:
MsgBox "残念ながら凶です。" 'メッセージボックスで表示し終了
Exit Sub
End Sub
'
【プログラムの流れ】
① メッセージボックスが表示されて1~15までの数値を入力します。
※入力した数値に応じで、処理①~④の実行するプログラムが異なります。
② メッセージボックスに入力した数字が1~15以外の場合は、プログラム終了
③ 入力された数値により、処理①~④が実行されます。
④ 処理①~④が実行されます。入力された数値に応じて処理内容は、異なります。
⑤ ワークシート処理結果が表示され①へジャンプします。
'
'''******** AKIRA55.COM ******* https://akira55.com/goto/
'
Sub Goto03() 'Gotoを利用して4種類の処理と15種類の複数条件によりジャンプする。
Dim Bit_int As Integer
Start:
Range("A2:A5").Clear 'A2~A5の範囲の文字列・背景色をクリアー
Bit_int = InputBox("1~15の間の数値を入力してください")
If Bit_int < 1 Or Bit_int > 15 Then
GoTo End_Bit
End If
Top:
Select Case Bit_int
Case Is >= 8
GoTo Bit4: '8以上の場合は、Bit4へジャンプ
Case Is >= 4
GoTo Bit3: '4以上の場合は、Bit3へジャンプ
Case Is >= 2
GoTo Bit2: '2以上場合は、Bit2へジャンプ
Case Is = 1
GoTo Bit1: '1の場合は、Bit1へジャンプ
End Select
MsgBox "発行処理されました"
GoTo Start:
Bit1: '処理①
Range("A2") = "Gotoトラベル" '
Range("A2").Interior.ColorIndex = 4
Bit_int = Bit_int - 1
GoTo Top:
Bit2: '処理②
Range("A3") = "Gotoイート" '
Range("A3").Interior.ColorIndex = 8
Bit_int = Bit_int - 2
GoTo Top:
Bit3: '処理③
Range("A4") = "Gotoキャンペーン" '
Range("A4").Interior.ColorIndex = 17
Bit_int = Bit_int - 4
GoTo Top:
Bit4: '処理④
Range("A5") = "Goto地域共通クーポン" '
Range("A5").Interior.ColorIndex = 40
Bit_int = Bit_int - 8
GoTo Top:
End_Bit:
MsgBox "入力した数値の範囲が1~15の範囲外です。"
End Sub
'