ここから本文です

ユーザーフォームのオプションボタンがどれも選択されていない場合にメッセージを...

hs4********さん

2011/2/2311:40:52

ユーザーフォームのオプションボタンがどれも選択されていない場合にメッセージを表示するプロシージャ

ユーザーフォームのオプションボタンがどれも選択されていない場合にメッセージを表示するプロシージャについて。

ユーザフォーム上にいくつかの項目を入力した後、コマンドボタンOKを押すと、入力内容がシートに転記されるプロシージャを作成しています。


if文になると思うのですが、ユーザーフォームの中にオプションボタンが5つ並んでいて、全部がオフになっている(どれも選ばれていない)場合にメッセージを表示する場合どう記述したらよろしいでしょうか

今途中まで作ったのは

Private Sub cmdOK_Click()
If opt1.Value = False Then
MsgBox "お名前を選んでください" ’(→これだとボタン1がオフの場合 ですよね)
Exit Sub
ElseIf txt1.Text = "" Then
MsgBox "日付を入力してください"
Exit Sub
ElseIf txt2.Text = "" Then
MsgBox "借方科目を入力してください"
Exit Sub
ElseIf txt3.Text = "" Then
MsgBox "借方金額を入力してください"
Exit Sub
End If

’このあと転記する


End Sub

どうぞよろしくお願いします。

補足補足します。
入力もれや、選択もれがないかどうかを調べる目的です。
よろしくお願いします

閲覧数:
2,155
回答数:
3
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

ads********さん

2011/2/2312:15:54

If opt1.Value = False And opt2.value = False And ・・・・・Then
msgbox "どれも選択されてません"
exit sub
end if

とか?

質問した人からのコメント

2011/2/23 16:21:45

降参 お三方の回答、どれも違った視点で大変勉強になりました。どれもベストアンサーにしたいのですが、自分が一番理解しやすかったadsrfgfhyさんにさせていただきました。
ありがとうございました。

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

kei_jun_kuuさん

2011/2/2312:35:35

hs4310865さん

Private Sub cmdOK_Click()
Dim cnt As Integer, i As Integer
For i = 1 To 5
cnt = cnt + Controls("opt" & i).Value
Next i
If cnt = 0 Then
MsgBox "お名前を選んでください"
End If
とかでしょうか。。

har********さん

編集あり2011/2/2313:27:40

目的が今一分かりませんが・・・間違っていればお許しを・・・
ユーザーフォームを使っていれば、・・・・・
オプションボタンやテキストボックスそのものを使った方が良いのでは。
"借入金・・・"などは、ラベルに書けばよいことでは?

ただ、MsgBoxに何らかの表示(規定値など)をしたいということのようですが
その場合もテキストボックスに
例えば3テキストボックスに表示させるにはInitializeを使います

Private Sub UserForm_initialize() ''''''初期設定…先頭データの表示
指定行 = 15
Call 表示
End Sub

Private Sub 表示()
With Worksheets("Sheet1")
TextBox1.Value = .Cells(指定行, 1).Value 'NO
TextBox2.Value = .Cells(指定行, 2).Value '項目1
TextBox3.Value = .Cells(指定行, 3).Value '項目2
End With
End Sub

最初のテキストボックスにNoを出すなど・・・・こんな方法で私はしています。
勿論規定値に文字を入れることだって同じことです。


//////////////補足に関して
入力漏れであれば、一般的にポイントとなるところで、空き時にはメッセージを出し、後の動作を続けず、入力全てがそろって初めて次の動作に移すというやり方が良いのでは。

If txt1 = "" Or txt2 = "" Or txt3="" Then
MsgBox ("TextBoxにデータの抜けがあります、確認してください")
Exit Sub

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる