Vba コードで goto ステートメントを使用するにはどうすればよいですか?

VBA GoTo ステートメントは、コード実行がプロシージャ内の特定の行に移動するのに役立ちます。簡単に言えば、goto ステートメントを使用すると、VBA は指定した特定の行にジャンプします。たとえば、2 行目にジャンプするように指定した場合、 go はその行にジャンプします。

コードで VBA GoTo ステートメントを使用する方法

  1. まず、goto ステートメントを使用する必要があります。
  2. その後、VBA が goto からどこに移動するかを定義する必要があります。
  3. 次に、この場所を作成する手順でタグを作成します。
  4. 最後に、実行するコード行を追加します。
vba-go-to-コード内のステートメント
 Sub vba_goto() GoTo Last Range ("A1"). Select Last : Range ("A12"). Select End Sub

コードを繰り返す GoTo

go to ステートメントを使用して、一連の条件を使用してコードを繰り返すこともできます。

 Sub goto_repeat() Dim iMessage As String Question:    iMessage = InputBox("what's the day today?") If iMessage <> "tuesday" Then    MsgBox ("wrong answer, try again.") GoTo Question Else    MsgBox ("that's the right answer.") End If End Sub

上記のコードを実行すると、曜日の名前を尋ねられ、「火曜日」以外を入力すると質問が繰り返されます。コードを見ると、 goto ステートメントとif ステートメントを使用する必要があることがわかります。

ここで、ユーザーが正解以外の値を入力すると、goto ステートメントによって VBA にコードの繰り返しが強制されます。 (ただし、このタイプのコードを使用する場合は、無限ループが発生する可能性があるため、常に細心の注意を払う必要があります。

VBA 最後に移動

goto ステートメントを使用してサブルーチンを終了することもできます。

vba-最後まで行く

上記のコードでは、end ステートメントの直前に「last」タグを使用しており、VBA が GoTo ステートメントに到達すると、VBA はプロシージャの最後の「Last」にジャンプします。

別のサブルーチンの行に移動する GoTo ステートメント

Going to ステートメントは、VBA をある場所から別の場所にジャンプさせるのに非常に便利ですが、モジュール内の別のプロシージャにジャンプさせることはできません。

VBAとは

関連するチュートリアル

  • VBA ループ (初心者から上級者まで)
  • VBA 選択ケース
  • Excel VBA Do While ループおよび (Do Loop While) – ガイド
  • Excel で VBA を使用してすべてのシートをループする
  • VBA を使用した範囲のループ (列、行、および UsedRange)

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です