Excel VBA質問箱 IV

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

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


19636 / 76732 ←次へ | 前へ→

【62525】Re:inputbox false で 終了しない
発言  kanabun  - 09/7/28(火) 20:09 -

引用なし
パスワード
   ▼チューリップ さん:

>inputboxのキャンセルボタンを押した場合、ムシされて

一つ目は、以下の部分ですね?

>Dim msg1 As String
>
>    msg1 = InputBox("修正したい果物を入力してください" _
>    & Chr(13) & "先頭の文字のみ入力でかまいません", "果物の検索", , 100, 100)
>    If msg1 = "False" Then Exit Sub

InputBox には InputBox関数と Application.InputBoxメソッドの2つあり、
このばあいは InputBox関数のことですね?

InputBox関数では戻り値はすべて文字列になります。
(そういう意味で
> Dim msg1 As String
 と変数を宣言しているのは正しいです。)
で[Cancel]ボタンが押された時は、"False"は返りません。
"" という長さ0の文字列でもありません。
戻り値msg1 を格納する「アドレスがない」状態が返るのです。
ちょっと難しいですが、
文字列変数のアドレス(これをポインタといいます)は
StrPtr()という関数で調べることができます。
結局、
>    If msg1 = "False" Then Exit Sub
ではなく、
    If StrPtr(msg1) = 0 Then Exit Sub
という風に判別します。
66 hits

【62524】inputbox false で 終了しない チューリップ 09/7/28(火) 19:42 質問
【62525】Re:inputbox false で 終了しない kanabun 09/7/28(火) 20:09 発言
【62528】Re:inputbox false で 終了しない チューリップ 09/7/28(火) 22:04 お礼
【62527】Re:inputbox false で 終了しない kanabun 09/7/28(火) 21:57 発言
【62529】Re:inputbox false で 終了しない チューリップ 09/7/28(火) 22:06 お礼
【62531】Re:inputbox false で 終了しない チューリップ 09/7/28(火) 23:51 質問
【62532】Re:inputbox false で 終了しない kanabun 09/7/29(水) 9:07 発言
【62553】Re:inputbox false で 終了しない チューリップ 09/7/29(水) 18:14 お礼
【62534】Re:inputbox false で 終了しない yoshi 09/7/29(水) 10:51 回答
【62537】Re:inputbox false で 終了しない kanabun 09/7/29(水) 12:07 発言
【62539】Re:inputbox false で 終了しない yoshi 09/7/29(水) 12:48 回答
【62545】Re:inputbox false で 終了しない kanabun 09/7/29(水) 14:44 発言
【62554】Re:inputbox false で 終了しない チューリップ 09/7/29(水) 18:16 お礼

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