Excel VBA質問箱 IV

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

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


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

【14088】「×」ボタンの無効について ハルコ 04/5/20(木) 17:53 質問[未読]
【14089】Re:「×」ボタンの無効について IROC 04/5/20(木) 18:28 回答[未読]
【14121】Re:「×」ボタンの無効について Jaka 04/5/21(金) 10:01 回答[未読]
【14122】Re:「×」ボタンの無効について Asaki 04/5/21(金) 10:07 発言[未読]
【14158】Re:「×」ボタンの無効について ハルコ 04/5/22(土) 12:11 質問[未読]
【14167】Re:「×」ボタンの無効について つん 04/5/22(土) 13:24 回答[未読]
【14177】Re:「×」ボタンの無効について ハルコ 04/5/22(土) 14:48 お礼[未読]

【14088】「×」ボタンの無効について
質問  ハルコ  - 04/5/20(木) 17:53 -

引用なし
パスワード
   みなさん、こんにちは。
またお世話になります。
実は、Imputboxやmsgboxの右上にある「×」ボタンについて、
クリックすると、場合によっては、エラーになってしまいます。
これについて、「×」ボタンを無効にするような方法ってあるのでしょうか?
ご存知の方がいらっしゃいましたら、どうかご教授願います。
宜しくお願いいたします。

【14089】Re:「×」ボタンの無効について
回答  IROC  - 04/5/20(木) 18:28 -

引用なし
パスワード
   >実は、Imputboxやmsgboxの右上にある「×」ボタンについて、
>クリックすると、場合によっては、エラーになってしまいます。

どんな状況で、何エラーが発生するのでしょうか?

【14121】Re:「×」ボタンの無効について
回答  Jaka  - 04/5/21(金) 10:01 -

引用なし
パスワード
   こんにちは。
InputBoxってややこしいので、今一よく解っていませんけど、
こういう事なんでしょうか?

Dim inpset As String
inpset = Application.InputBox(Prompt:="〇〇を入力してください。", _
             Title:="入力", Default:="こんな感じ。", Type:=2)
If inpset = "False" Then
  MsgBox "キャンセル"
  End
Else
  MsgBox inpset
End If

【14122】Re:「×」ボタンの無効について
発言  Asaki  - 04/5/21(金) 10:07 -

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

エラーになるというのは、
InputBox メソッドのType指定が文字以外の場合、とかでしょうか?
もしくは、戻り値の受け取り変数のデータ型がよろしくないとか?
InputBox 関数のほうは、使ったことないので、良くわかりません。

一番判らないのは、
MsgBox でエラー
どうやったら出るのでしょう?

【14158】Re:「×」ボタンの無効について
質問  ハルコ  - 04/5/22(土) 12:11 -

引用なし
パスワード
   ▼IROCさん、JAKAさん、Asakiさん、おはようございます。
 暫く体調を悪くして、返信が遅れました。申し訳ありません。
 それで、質問の内容についてですが、以前は出ていたのが、色々、やっているう ちにデバッグがでなくなりました。何故かはわかりません。恐らくコード内容が
 悪かったのだと思います。お騒がせして申し訳ありませんでした。
 それで、Inputboxの「×」ボタンを無効にする方法だけでもご教授いただけない
 でしょうか?宜しくお願いいたします。

【14167】Re:「×」ボタンの無効について
回答  つん E-MAIL  - 04/5/22(土) 13:24 -

引用なし
パスワード
   こんにちは。
横から失礼します。

> それで、Inputboxの「×」ボタンを無効にする方法だけでもご教授いただけない
> でしょうか?宜しくお願いいたします。

「×」を無効にすること自体は出来ないと思いますので(多分・・・)
「×」を押された場合に返ってくる値で判断するしかないと思います。

こんな感じ。
ちなみに、InputBoxメソッドね。

Sub test()

  Dim strData As String
  
  Do
    strData = Application.InputBox(prompt:="文字を入力してください。", Type:=2)
  Loop Until strData <> "False"
  
  MsgBox strData

End Sub

「×」や「キャンセル」が押される限りInputBoxが表示されつづけます。
「数値」を入力するInputBoxだとちと、やっかいで、
「×」で返ってくる値が「0」になるので、入力された「0」と区別がつかなくなります。
なので、「Variant」方で受け取って、判断します。
こんな感じ

Sub test()

  Dim vntData As Variant
  
  Do
    vntData = Application.InputBox(prompt:="数値を入力してください。", Type:=1)
  Loop Until VarType(vntData) <> vbBoolean
  
  MsgBox vntData

End Sub

ところで、さっきワタクシコードを書いて試している最中に、
無限ループ地獄に陥って泣きました(T_T)
上記のは、試してOKだったので、アップしてるんですけど、
そちらで試すときもデータをバックアップするとかちゃんとしてからやってね^^;

【14177】Re:「×」ボタンの無効について
お礼  ハルコ  - 04/5/22(土) 14:48 -

引用なし
パスワード
   ▼つん さん、ありがとうございます。
 教えていただいた内容を試してみたらうまくいきました。
 ありがとうございました。

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