[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『InputBox関数を実行してキャンセルか空文字を入力されたかがわかる方法』(mittya)
InputBox関数は入力された値が返されますが、戻ってきた値が空文字だった場合、 ・キャンセルを押下したのか ・何も入力せずOKボタンを押下したのか 上記2つを判別する方法はありますか? どうぞよろしくお願いいたします。
こちらが参考にならなしでしょうか。 [[20060310180746]] 『キャンセルを押すと処理終了』(とも) (みやほりん)(-_∂)b
衝突しました。 私が良く使う方法ですが・・・。 Sub Test() Dim MyRange As String MyText = Application.InputBox("貼り付け先の選択", "セルの指定", Type:=2) If MyText = "" Or MyText = False Then MsgBox ("空白またはキャンセルです") Else MsgBox (MyText & vbCrLf & "文字列です") End If End Sub
(川野鮎太郎)
みやほりんさん、川野鮎太郎さんありがとうございます。
Dim myRes As String myRes = InputBox("何か入力してください。") If StrPtr(myRes) = 0 Then ↑こちらのIf文が「キャンセル」押下時のみはいりました。
If MyText = "" Or MyText = False Then ↑こちらだと未入力でOKボタン押されるとキャンセル扱いになってしまいました。
StrPtrはヘルプで出ないのでよくわかりませんが、少しいろいろ調べてみます。 本当にどうもありがとうございました。
勝手に手直ししました。 すみません。 「False」って文字を入れるのは無しでお願いします。
Dim MyRange As String MyText = Application.InputBox("貼り付け先の選択", "セルの指定", Type:=2) If MyText = "False" Then MsgBox ("キャンセルです") ElseIf MyText = NullString Then MsgBox "空白" Else MsgBox (MyText & vbCrLf & "文字か数字です") End If BJ
変数を書き換えていませんでした(^_^A; Sub Test() Dim MyText As String MyText = Application.InputBox("文字を入力してください。", "文字の入力", Type:=2) If MyText = "" Or MyText = "False" Then MsgBox ("空白またはキャンセルです") Else MsgBox (MyText & vbCrLf & "文字列です") End If End Sub
(川野鮎太郎)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.