プロが教えるわが家の防犯対策術!

フォームにオプションボタン1個とテキストボックスが6個
配置してあります。コマンドボタンを押したときに、入力漏れの箇所について注意を促したいのですが、コードはどのように書いたらいいですか。

A 回答 (4件)

追伸:



もし、選択肢が1個以上という場合なら、チェックボックスを使ったほうがよいですね。
オプションボタンは、#3 で示したように、本来は、どれか1つが、On になった状態ですから。(全部、オフな状態というのは、設定の問題)
    • good
    • 0

こんにちは。



>オプションボタンは2個(1セット)です。
オプションの場合は、数に関係なく、1グループになってしまいます。

教本的な書き方をすれば、オプションボタンは、片方のデフォルト値のValue プロパティを、True にしておきます。そうすると、どれか1つは、True になるわけですが、起動時には、そのままですと、本来はありえない、全部が、False になってしまいます。

そうでないなら、#1 さんのようにすればよいと思います。
    • good
    • 0

こんにちは。



OptionButton が、1個なら、チェックのしようがないと思います。
後は、テキストボックス6個ですから、以下のようにすれば出来ます。
二つ以上あれば、最初に、入力漏れのあった場所が指摘されます。

Private Sub CommandButton1_Click()
Dim i As Integer
 For i = 1 To 6
  If Controls("TextBox" & i).Text = "" Then
   MsgBox "TextBox" & CStr(i) & " が入力されていません。", 32
   Controls("TextBox" & i).SetFocus
   Exit Sub
  End If
 Next
End Sub

この回答への補足

オプションボタンは2個(1セット)です。

補足日時:2007/09/02 12:47
    • good
    • 0
この回答へのお礼

有難うございました。参考になりました。

お礼日時:2007/09/16 11:57

たとえばこの様なのはいかがでしょうか?


オプションボタンは1個ではなく、1組だとしています。

Private Sub CommandButton1_Click()
Dim Ch As Integer
Ch = 0
If TextBox1.Value = "" Then
Ch = 1
ElseIf TextBox2.Value = "" Then
Ch = 1
ElseIf TextBox3.Value = "" Then
Ch = 1
ElseIf TextBox4.Value = "" Then
Ch = 1
ElseIf TextBox5.Value = "" Then
Ch = 1
ElseIf TextBox6.Value = "" Then
Ch = 1
ElseIf OptionButton1.Value = False And OptionButton2.Value = False Then
Ch = 1
End If

If Ch <> 0 Then
MsgBox "未入力の箇所があります"
End If
End Sub

これで注意のメッセージが表示されるはずです。
    • good
    • 0
この回答へのお礼

有難うございました。参考になりました。

お礼日時:2007/09/16 11:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!