Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3819 / 13645 ツリー ←次へ | 前へ→

【60031】InputBox,MsgBox関数 山ちゃん 09/1/24(土) 16:29 質問[未読]
【60032】Re:InputBox,MsgBox関数 ジャック 09/1/24(土) 16:53 発言[未読]
【60033】Re:InputBox,MsgBox関数 山ちゃん 09/1/24(土) 17:05 発言[未読]
【60034】Re:InputBox,MsgBox関数 かみちゃん 09/1/24(土) 17:20 発言[未読]
【60035】Re:InputBox,MsgBox関数 山ちゃん 09/1/24(土) 17:34 お礼[未読]
【60037】Re:InputBox,MsgBox関数 ichinose 09/1/24(土) 19:40 発言[未読]

【60031】InputBox,MsgBox関数
質問  山ちゃん  - 09/1/24(土) 16:29 -

引用なし
パスワード
   InputBox関数でcancelで抜けられた場合をどのように取得しますか?
また、MsgBox関数でOKでなく×で抜けられた場合は?
よろしくお願いいたします。

【60032】Re:InputBox,MsgBox関数
発言  ジャック  - 09/1/24(土) 16:53 -

引用なし
パスワード
   ▼山ちゃん さん:
Debug.Print や、ローカルウィンドウを使用して確認してみると良いです。

InputBoxは、「キャンセル」と同じ "" になるようです。

MsgBoxは、引数:bottunsの値によるようですね。
Cancelが入っているときは、vbCancel(=2)
入っていないときは、Xボタンは使用不可みたいです。
・・・・たぶん(全部を見てないので^^;)

【60033】Re:InputBox,MsgBox関数
発言  山ちゃん  - 09/1/24(土) 17:05 -

引用なし
パスワード
   ▼ジャック さん:
さっそくありがとうございます。
InputBoxの、「キャンセル」と"" ヌル入力は区別できないのですか?

【60034】Re:InputBox,MsgBox関数
発言  かみちゃん E-MAIL  - 09/1/24(土) 17:20 -

引用なし
パスワード
   こんにちは。かみちゃん です。

横から失礼します。

>InputBoxの、「キャンセル」と"" ヌル入力は区別できないのですか?

http://officetanaka.net/excel/vba/tips/tips37.htm
にも載っているのですが、InputBox関数ではなく、InputBoxメソッドを使うと
以下のような感じでできると思います。

Sub Sample()
 Dim MyValue As Variant '←重要
 
 MyValue = Application.InputBox("値を入力してください", "値入力", "TEST")
 If VarType(MyValue) = vbBoolean Then
  MsgBox "キャンセルされました"
 Else
  If MyValue = "" Then
   MsgBox "何も入力せずOKが押されました"
  Else
   MsgBox "入力された文字は [ " & MyValue & " ]"
  End If
 End If
End Sub

【60035】Re:InputBox,MsgBox関数
お礼  山ちゃん  - 09/1/24(土) 17:34 -

引用なし
パスワード
   ▼かみちゃん さん:
ありがとうございます。
思い通りに解決!!

【60037】Re:InputBox,MsgBox関数
発言  ichinose  - 09/1/24(土) 19:40 -

引用なし
パスワード
   こんばんは。

解決後ですが・・・。
私もExcel/VBAでは、Application.inputbox
を使う頻度の方が圧倒的に多いですが、

Inputbox関数でもOKボタンとCancelボタンの区別は、出来ます。

以前、このサイトでもHirofumiさんが

www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=33237;id=excel

ここで回答されていました。今、見に行ったら、保管場所が代わっていました。

excelfactory.net/excelboard/excelvba/cfs.cgi?word=57073&andor=and&logs=4.txt

他にも StrPtr InputBox関数 Cancel この辺りをキーワードに
Googole等で検索するといくつも見つけられます。

試してみてください。

3819 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free