Excel VBA質問箱 IV

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

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


8447 / 13646 ツリー ←次へ | 前へ→

【33222】InputBox関数での[OK]と[Cancel]の判断 みるも 06/1/5(木) 13:24 質問[未読]
【33223】Re:InputBox関数での[OK]と[Cancel]の判断 Blue 06/1/5(木) 13:33 発言[未読]
【33224】Re:InputBox関数での[OK]と[Cancel]の判断 みるも 06/1/5(木) 14:08 発言[未読]
【33225】Re:InputBox関数での[OK]と[Cancel]の判断 Blue 06/1/5(木) 14:47 回答[未読]
【33227】Re:InputBox関数での[OK]と[Cancel]の判断 角田 06/1/5(木) 14:56 回答[未読]
【33229】Re:InputBox関数での[OK]と[Cancel]の判断 みるも 06/1/5(木) 15:04 発言[未読]
【33228】Re:InputBox関数での[OK]と[Cancel]の判断 みるも 06/1/5(木) 15:02 発言[未読]
【33230】Re:InputBox関数での[OK]と[Cancel]の判断 Blue 06/1/5(木) 15:05 回答[未読]
【33231】Re:InputBox関数での[OK]と[Cancel]の判断 みるも 06/1/5(木) 15:50 発言[未読]
【33235】Re:InputBox関数での[OK]と[Cancel]の判断 Blue 06/1/5(木) 16:21 回答[未読]
【33237】Re:InputBox関数での[OK]と[Cancel]の判断 Hirofumi 06/1/5(木) 16:27 発言[未読]
【33238】Re:InputBox関数での[OK]と[Cancel]の判断 Blue 06/1/5(木) 16:36 お礼[未読]
【33262】Re:InputBox関数での[OK]と[Cancel]の判断 みるも 06/1/6(金) 10:55 お礼[未読]

【33222】InputBox関数での[OK]と[Cancel]の判断
質問  みるも  - 06/1/5(木) 13:24 -

引用なし
パスワード
   Application.InputBoxメソッドでは[Cancel]実行時は"False"は帰ってきますが、
InputBox関数の場合は何も入力せずに[OK]を押した場合と[Cancel]を押した場合、
同じ[""]が戻り値になりますが、[OK]or[Cancel]の判断はどのように判断したら
良いかお教え下さい。

【33223】Re:InputBox関数での[OK]と[Cancel]の判断
発言  Blue  - 06/1/5(木) 13:33 -

引用なし
パスワード
   一応参考
http://www.officetanaka.net/excel/vba/tips/tips37.htm
下のほうに
■[キャンセル]ボタンが押された場合
というのがあります。

【33224】Re:InputBox関数での[OK]と[Cancel]の判断
発言  みるも  - 06/1/5(木) 14:08 -

引用なし
パスワード
   ▼Blue さん:
ありがとうございます。
私もご指定のサイトは参照していました。
ただ、質問にも掲載しているとおり[入力なしでOK]と[Cancel]は同じ空白[""]が
帰って来てしまいます。
Application.InputBoxメソッドでは、InputBox内に5行しか表示されないため
InputBox関数を使用しています。

【33225】Re:InputBox関数での[OK]と[Cancel]の判断
回答  Blue  - 06/1/5(木) 14:47 -

引用なし
パスワード
   やはり、InputBoxでは限界があるので、UserFormを作成すべきかもしれません。

【33227】Re:InputBox関数での[OK]と[Cancel]の判断
回答  角田 WEB  - 06/1/5(木) 14:56 -

引用なし
パスワード
   こんにちは。
フリーのアドインを使っても良いなら下記で色々と出来ます。
[ktMsgBox関数]
http://www.h3.dion.ne.jp/~sakatsu/ktMsgBox_Series.htm

単体のktMsgBoxAddin または kt関数アドインで利用できます。
http://www.h3.dion.ne.jp/~sakatsu/ktfunc_main.htm

【33228】Re:InputBox関数での[OK]と[Cancel]の判断
発言  みるも  - 06/1/5(木) 15:02 -

引用なし
パスワード
   ▼Blue さん:
>やはり、InputBoxでは限界があるので、UserFormを作成すべきかもしれません。
ありがとうございます。
本当はApplication.InputBoxを使いたいのですが、表示するメッセージ行数の制約
などがあり…

以前、以下のような質問を出したのですが、何か知恵はありますか?

strMsg = "選択してください" & Chr(10) _
  & "1:aaa" & Chr(10) _ & "2:bbb" & Chr(10) _
  & "3:ccc" & Chr(10) _ & "4:ddd" & Chr(10) _
  & "5:eee" & Chr(10) _ & "6:fff" & Chr(10) _
  & "7:ggg" & Chr(10) _ & "8:hhh" & Chr(10)

上記のようなロジックで入力用のボックスを表示すると[4:ddd]までしか表示
されません。
Application.InputBoxで表示される入力ボックスは、デフォルトで5行までしか表示されないのでしょうか?

【33229】Re:InputBox関数での[OK]と[Cancel]の判断
発言  みるも  - 06/1/5(木) 15:04 -

引用なし
パスワード
   ▼角田 さん:
ありがとうございます。
フリーのアドインとはいえ導入するには少し問題がありまして…
本当はApplication.InputBoxを使いたいのですが、表示するメッセージ行数の制約
などがあり…

以前、以下のような質問を出したのですが、何か知恵はありますか?

strMsg = "選択してください" & Chr(10) _
  & "1:aaa" & Chr(10) _ & "2:bbb" & Chr(10) _
  & "3:ccc" & Chr(10) _ & "4:ddd" & Chr(10) _
  & "5:eee" & Chr(10) _ & "6:fff" & Chr(10) _
  & "7:ggg" & Chr(10) _ & "8:hhh" & Chr(10)

上記のようなロジックで入力用のボックスを表示すると[4:ddd]までしか表示
されません。
Application.InputBoxで表示される入力ボックスは、デフォルトで5行までしか表示されないのでしょうか?

【33230】Re:InputBox関数での[OK]と[Cancel]の判断
回答  Blue  - 06/1/5(木) 15:05 -

引用なし
パスワード
   ▼みるも さん:
>strMsg = "選択してください" & Chr(10) _
>  & "1:aaa" & Chr(10) _ & "2:bbb" & Chr(10) _
>  & "3:ccc" & Chr(10) _ & "4:ddd" & Chr(10) _
>  & "5:eee" & Chr(10) _ & "6:fff" & Chr(10) _
>  & "7:ggg" & Chr(10) _ & "8:hhh" & Chr(10)
1〜8を選択させるならば、なおさらUserFormにして、
オプションボタンかコンボボックスかりストボックスで選択させるべきなのではないのでしょうか?

そのほうが、例外処理も少なくなると思います。

【33231】Re:InputBox関数での[OK]と[Cancel]の判断
発言  みるも  - 06/1/5(木) 15:50 -

引用なし
パスワード
   ▼Blue さん:
>▼みるも さん:
>>strMsg = "選択してください" & Chr(10) _
>>  & "1:aaa" & Chr(10) _ & "2:bbb" & Chr(10) _
>>  & "3:ccc" & Chr(10) _ & "4:ddd" & Chr(10) _
>>  & "5:eee" & Chr(10) _ & "6:fff" & Chr(10) _
>>  & "7:ggg" & Chr(10) _ & "8:hhh" & Chr(10)
>1〜8を選択させるならば、なおさらUserFormにして、
>オプションボタンかコンボボックスかりストボックスで選択させるべきなのではないのでしょうか?
>そのほうが、例外処理も少なくなると思います。

オプションボタンかコンボボックスかりストボックスは、VBA(マクロ)の中で
どのように記述すれば良いのでしょうか?
申し訳ありませんが、ご教授願います。

【33235】Re:InputBox関数での[OK]と[Cancel]の判断
回答  Blue  - 06/1/5(木) 16:21 -

引用なし
パスワード
   http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_080.html
を参考にしてみてください。

【33237】Re:InputBox関数での[OK]と[Cancel]の判断
発言  Hirofumi  - 06/1/5(木) 16:27 -

引用なし
パスワード
   >Application.InputBoxメソッドでは[Cancel]実行時は"False"は帰ってきますが、
>InputBox関数の場合は何も入力せずに[OK]を押した場合と[Cancel]を押した場合、
>同じ[""]が戻り値になりますが、[OK]or[Cancel]の判断はどのように判断したら
>良いかお教え下さい。

もう違う方向で解決しそうなので、必要無いのかも解りませんが参考までに?

VBAの非公開関数を使えば出来るみたいですよ
ここでは無いですが、同じ様な質問を別なサイトで回答されている所が有ります

[57073] Re[3]: InputBoxでキャンセルを選んだ時-
http://excelfactory.net/excelboard/excelvba/cfs.cgi?word=57073&andor=and&logs=20.txt

【33238】Re:InputBox関数での[OK]と[Cancel]の判断
お礼  Blue  - 06/1/5(木) 16:36 -

引用なし
パスワード
   StrPtrですか。勉強になりました。

というか、
vbNullStringを完全に間違えて覚えていました。(汗)
ヘルプ見たら「長さ 0 の文字列 ("") とは異なります。」だったのね。
# C経験者だからStrPtrがNULLの実体(なのかw)があるとは思わなかった。

【33262】Re:InputBox関数での[OK]と[Cancel]の判断
お礼  みるも  - 06/1/6(金) 10:55 -

引用なし
パスワード
   ▼Hirofumi さん:
リストボックスを作成し始めていていたのですが、なかなか理解できず苦戦中
でした。
Hirofumiさんのアドバイスが、大変参考になりました。
本当にありがとうございました。

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