VBA|InputBoxのキャンセルボタンを消す方法

エクセルVBA VBAのユーザーフォーム



Inputboxを使って入力してますか?

使っているうちにInputBoxに表示されている「キャンセルボタン」が邪魔になるときがあります。

今回はInputBoxのキャンセルボタンを消す方法について説明します。



InputBoxのキャンセルボタンを消す方法

InputBoxのキャンセルボタンを消す方法はありません。

InputBoxの仕様的に消す方法はありませんが、疑似的に消す方法がありますので解説します。

InputBoxのキャンセルボタンを疑似的に消す方法

キャンセルボタンを無効化して押せないようにします。

Sub キャンセルボタン無効()
    Dim hensu As Variant
label:
    hensu = Application.InputBox("文字を入力してください")
    If hensu = False Then
        GoTo label
    End If
    MsgBox hensu
End Sub

InputBoxでは、キャンセルボタンを押すと「False」が返ります。

そこで、Ifステートメントを使って、「False」のときは「label」まで戻りInputBoxを繰り返すようにします。

InputBoxの「OK」ボタンを押せば、メッセージボックスで入力内容が表示され処理が終了します。

もしInputBoxでキャンセルボタンを表示しないようにしたいのならば、ユーザーフォームを使うしかありませんが、今回の方法のように「False」でのIf処理は結構役に立ちますので、覚えておいて損はないですね!

InputBoxを詳しく知りたいかたは、こちらの記事もチェックしてみてくださいね。

Excel VBA入門 その35:InputBoxで改行する方法

 

コメント

  1. […] Excel VBA入門 その36:InputBoxのキャンセルボタンを消す方法 […]

  2. […] Excel VBA入門 その36:InputBoxのキャンセルボタンを消す方法 […]

タイトルとURLをコピーしました