Excel VBA質問箱 IV

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

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


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

【18692】MsgBox 関数のdefaultボタンをなくす 富士 04/10/6(水) 10:16 質問[未読]
【18693】Re:MsgBox 関数のdefaultボタンをなくす つん 04/10/6(水) 10:39 発言[未読]
【18694】Re:MsgBox 関数のdefaultボタンをなくす Jaka 04/10/6(水) 10:45 発言[未読]
【18695】Re:MsgBox 関数のdefaultボタンをなくす Asaki 04/10/6(水) 11:02 発言[未読]
【18697】Re:MsgBox 関数のdefaultボタンをなくす Asaki 04/10/6(水) 11:17 発言[未読]

【18692】MsgBox 関数のdefaultボタンをなくす
質問  富士  - 04/10/6(水) 10:16 -

引用なし
パスワード
   間違ったデータを読み込むとMsgBox 関数で
エラーメッセージを出すようにしています。
エラーメッセージは、よくあるように、
表示をして、ユーザが確認後、ボタンをクリック
するとメッセージを閉じるようにしています。

また、データ正常に入力されるときは、
データを読み込んだ後、リターンキーの信号が
入力され、次のデータを読み込むようにしています。

ここで、

Data1→Data2→エラー→Data3→Data4

という流れのとき、Data2が間違ったデータの場合、
エラーメッセージが表示されますが、ユーザが気づかず
次のデータを読み込むと、Data3の付随するリターン信号
に反応して、エラー消えて、次に入力されるのはData4に
なります。
つまり、Data3が無視されてしまいます。

これを防ぐためには、Msg関数で表示されるボタンを
Defaultボタンにしないようにする必要があると思いますが、
そのようなことは可能でしょうか。
また、代替策があればお教えください。

【18693】Re:MsgBox 関数のdefaultボタンをなくす
発言  つん E-MAIL  - 04/10/6(水) 10:39 -

引用なし
パスワード
   おはようございます。

ちょっとイマイチよくわかってないんですが、
ボタンそのものをなくすのは無理だと思います。
引数で、ボタンの種類やデフォルトのボタンの変更などは
出来るので、一度ヘルプを読んでみられたらどうでしょうか?

そういうことじゃなかったら、すみません。

【18694】Re:MsgBox 関数のdefaultボタンをなくす
発言  Jaka  - 04/10/6(水) 10:45 -

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

つんさん おじゃまします。元気!
私もつんさん以上に解っていませんが、こんな風な感じにしたいのかなぁ?って事でお願いします。

Sub dkklkl()
  Dim DtC As Integer
  msg = "データ" & 1
  Do
    ans = MsgBox(msg & "を入力してください。", vbOKCancel + vbInformation)
    If ans = vbOK Then
      'ここでデータのチェックをする。
      '合っていたらOKフラグを立てる。
      If データ = "OK" Then
       If DtC = 4 Then Exit Sub
       DtC = DtC + 1
       msg = "データ" & DtC
      Else
       sn2 = MsgBox("間違ってます。", vbExclamation + vbOKOnly)
      End If
    Else
      End
    End If
  Loop
End Sub

【18695】Re:MsgBox 関数のdefaultボタンをなくす
発言  Asaki  - 04/10/6(水) 11:02 -

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

みなさんおっしゃるとおり、デフォルトボタンの設定を無くすのは無理そうですね。

簡単に
UserFormで自作のメッセージボックスを作成する
でどうでしょうか?

【18697】Re:MsgBox 関数のdefaultボタンをなくす
発言  Asaki  - 04/10/6(水) 11:17 -

引用なし
パスワード
   >UserFormで自作のメッセージボックスを作成する
試してみましたが、TabStop = False で何とかなりそうです。

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