- ベストアンサー
inputbox のキャンセルの戻り値について(VBA×エクセル)
VBA初心者で、ユーザフォームにはまだ手出ししたくなく、INPUTBOXで値を取得しているのですが、 INPUTBOXでキャンセルボタンを押したときに、マクロを終了するように書きたいのですが、どのように記述したらよいのでしょうか? INPUTBOXからはどんな値が返ってきているかわからず、 メッセージボックスで確認してみたのですが、空欄なので、 IF RetIPT ="" then マクロ終了 endif としてみたのですが、「マクロ終了」には進んでくれず... 回答をお願いします~
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。KenKen_SP です。 InputBox は次の2種類あります。恐らくInputBox メソッドをお使 いかと。 【InputBox 関数】 例)strRET = InputBox("入力して下さい") この場合、Cancel ボタンクリックで「長さ 0 の文字列」が 返されます。次のように判定します。 If strRET="" Then Msgbox "Cancel ボタンが押されました" Exit Sub End If 【InputBox メソッド】 例)strRET = Application.InputBox("入力して下さい") この場合、Cancel ボタンクリックで False が返されます。 次のように判定します。 If UCase$(strRET) = "FALSE" Then MsgBox "Cancel ボタンが押されました" Exit Sub End If
お礼
KenKen_SPさん、ご回答ありがとうございます。 私が使用しているのは上記です。 ご指示のように「""を返したら、終わりにする」と記述しているのに、 思うような動きをしてくれなかったものですから.... 私の書き方が間違えていないことがわかりましたので、 別のところが間違えているか調べてみたいと思います。 ありがとうございました。