- ベストアンサー
Excel VBAでMsgboxの値を取得するには?
Msgbox Cells(i, 1) & Cells(i, 2) & Cells(i, 3), vbOKCancel としました。 そしてMsgboxで「OK」が押されたか「キャンセル」が押されたか取得したいのですが、どのようにすればいいのでしょうか? Ex2000、win2000です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Dim ret ret = Msgbox(Cells(i, 1) & Cells(i, 2) & Cells(i, 3), vbOKCancel) If ret = vbOk Then MsgBox "OK" ElseIf ret = vbCancel Then MsgBox "Cancel" End If
その他の回答 (2)
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 MsgBox関数は処理の結果を整数として返します。 そして、その数値を表す定数がVBA(VB)には用意されています。 vbCancel vbOk vbYes などです。 コーディングとしては、 Dim ret As Long ret = MsgBox(省略) If ret = vbOk Then 'OKの場合の処理 Else 'OK以外の場合の処理 End If という感じでしょうか。 戻り値の定数のリストについては、オブジェクトブラウザで確認して下さい。 オブジェクトブラウザは、VBE画面で、メニューの[表示]→[オブジェクトブラウザ]で表示されます。 そこで、[クラス]で「vbMsgBoxResult」を選択すると、隣りにメンバが表示されます。 そして個々のメンバを選択すると、下にその定数の数値が表示されます。 これによれば、vbOk=1なので、 If ret = 1 Then としてもいいわけです。
- soma3
- ベストアンサー率39% (16/41)
If Msgbox(Cells(i, 1) & Cells(i, 2) & Cells(i, 3), vbOKCancel) = vbOK then MsgBox "OK" else MsgBox "Cancel" End If こんな感じです。
お礼
お二人ともありがとうございました!! 無事できました★
お礼
回答ありがとうございます。 数値でも判別できるんですね。 ありがとうございました★