Excel VBA質問箱 IV

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

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


13474 / 13644 ツリー ←次へ | 前へ→

【5246】数値入力用のInputBoxメソッド つん 03/4/30(水) 13:47 質問
【5247】Re:数値入力用のInputBoxメソッド ichinose 03/4/30(水) 13:57 回答
【5248】Re:数値入力用のInputBoxメソッド つん 03/4/30(水) 14:18 お礼
【5249】数値型でよかった(^^; つん 03/4/30(水) 14:28 発言

【5246】数値入力用のInputBoxメソッド
質問  つん E-MAIL  - 03/4/30(水) 13:47 -

引用なし
パスワード
   こんにちは。
いつもお世話になります。

InputBoxメソッドについてご相談にあがりにきました。

  Dim lngPage As Long
  
  lngPage = Application.InputBox("数値を入力してください", _
        "数値入力", 1, , , , , 1)

このような、数値の入力のみ可のInputBox(初期値を「1」)で、「キャンセル」や「×」を押された場合、どう判断させたらいいのでしょうか?

  MsgBox lngPage

で、中身を調べて見ると、
「キャンセル」や「×」が押されたときは「0」になるようです。
そして、「0」を入力して、「OK」を押した場合も「0」になるようです。
この違いを判断させるにはどのようにしたいいでしょうか?

よろしくお願いします。

【5247】Re:数値入力用のInputBoxメソッド
回答  ichinose  - 03/4/30(水) 13:57 -

引用なし
パスワード
   ▼つん さん:
こんにちは。

>InputBoxメソッドについてご相談にあがりにきました。
>
>  Dim lngPage As Long
>  
>  lngPage = Application.InputBox("数値を入力してください", _
>        "数値入力", 1, , , , , 1)
>
>このような、数値の入力のみ可のInputBox(初期値を「1」)で、「キャンセル」や「×」を押された場合、どう判断させたらいいのでしょうか?
>
>  MsgBox lngPage
>
>で、中身を調べて見ると、
>「キャンセル」や「×」が押されたときは「0」になるようです。
>そして、「0」を入力して、「OK」を押した場合も「0」になるようです。
>この違いを判断させるにはどのようにしたいいでしょうか?
>
>よろしくお願いします。
結局、lngPageの型をVariantにして、
VarType関数で一度チェックするようなロジックにするしかないと思っていましたが、
いかがですか?
(質問者がつんさんだったんでビックリしました)

【5248】Re:数値入力用のInputBoxメソッド
お礼  つん E-MAIL  - 03/4/30(水) 14:18 -

引用なし
パスワード
   ichinoseさん、こんにちは♪
早速のお返事ありがとうございました。

>結局、lngPageの型をVariantにして、
>VarType関数で一度チェックするようなロジックにするしかないと思っていましたが、
>いかがですか?

うーーーーん、やはりそうですか・・・
キャンセル時も、「0」入力時も、戻り値が同じだったので、判断しようがない・・とは思ったのですが、なにかやり方があるかも・・・と、ちと期待してました。
この場合、InputBoxの、Typeも「文字列」にしておくんですよね。

「数値」にしておくと、InputBoxで入力された値のチェックをしてくれるのでいいと思ったんやけどな〜
キャンセル時の対応が出来ないのならしかたないですね(T_T)

ありがとうございました。

【5249】数値型でよかった(^^;
発言  つん E-MAIL  - 03/4/30(水) 14:28 -

引用なし
パスワード
   >この場合、InputBoxの、Typeも「文字列」にしておくんですよね。

「数値」で良かったみたい(^^;

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