HOME技術ExcelExcel VBAで「はい」「いいえ」の条件分岐をする

Excel VBAで「はい」「いいえ」の条件分岐をする

Excel VBAでメッセージ(質問)を表示して、ユーザに「はい」「いいえ」の選択をさせて、その結果で処理を分岐させる方法です。

if文による条件分岐

条件分岐には以下のようなif文を使います。

If 条件式 Then
条件式の結果が真の場合
Else
条件式の結果が儀の場合
End If

MsgBoxを使う

このif文にMsgBoxを使って、はい、いいえの選択肢を表示します。

If MsgBox(“終了します。” , vbYesNo) = vbYes Then
終了処理
Else
継続処理
End If

このほかに、以下のような書き方もあります。

Dim Result As Long
Result = MsgBox(“終了します。” , vbYesNo)
If Result = vbYes Then
終了処理
Else
継続処理
End If

関連記事

Excel VBAで他のプログラムを実行する際にウィンドウを最小化する

Excel VBAで他のプログラムを実行した際に、実行しているプログラムのウィンドウを最小化表示にする方法です。 CreateObject(“WScript.Shell”).R…続きを読む

Excel VBA:指定した列を非表示にする

Excel VBAで、予め指定した列を非表示にします。 コード hiddenColumn = Array(3, 4, 5, 6) For i = 0 To UBound(hiddenColumn) W…続きを読む

Excel:ハイパーリンクで別ファイルを開く

Excelにおいて、別ファイルにハイパーリンクを付けて、リンクをクリックすると指定したファイルが開くようにします。 通常のハイパーリンクの作成の場合だと、セルの上で右クリック→「リンク」をクリックして…続きを読む

Excel VBA:最終行番号を取得する

Excelでデータ管理をしていて、VBAでその全データに対して何らかの処理を行う場合、1行目から最終行までループさせて処理を1行ずつ行う場合には、最終行を取得する必要があります。 今回は、最終行を取得…続きを読む

Excel VBA:フォルダを開く

Excelでボタンをクリックしたらフォルダを開くようにするVBAです。 Shell EXPLORERPATH & OPENFOLDER , vbNormalFocus EXPLORERPATH…続きを読む

Excel:改行を含むテキストを置換する

Microsoft Excelで、セルの中で改行しているテキストを置換する方法です。 以下のように、 あああ いいい という改行を含むテキストを「おおお」というテキストに置換します。 改行を含めたテキ…続きを読む

Excelで数式のみをコピーする

Excelで数式だけをコピーして貼り付ける方法です。 以下のように、セルC6に入力されている数式を、セルD6にコピーしたい場合、セルの右下をドラッグしてD6に持っていくと枠線やセルの背景色などの余計な…続きを読む

Excel:別のExcelファイルの値を参照したファイル

Excelでは、別のExcelファイルの値を参照させることができます。 その際、2つのExcelを開いておき、一方から他方のセルをクリックすることで参照させることができます。 このとき、参照先のExc…続きを読む

Excelのフォームのタブオーダーを指定する

Excelでフォームを設定し、部品を複数配置していると、タブキーやEnterキーを押すと次の部品にフォーカスを飛ばすことができます。 この順序が意図したとおりでない場合に、自分で設定する方法を調べまし…続きを読む

Excelで数字をコピーしたときに連番にならない

Excelで数字が入力されているセルの右下にマウスカーソルを合わせて、下にコピーしていくと、通常は数字が1つずつ足された連番の値でコピーされていきます。 それが何度やっても、何をやっても連番にならなか…続きを読む