
いつもお世話になります。
OSはWin10、Office365 です。
VBAの勉強中でオプションボタンにトライしています。
下記の構文を作成7したのですが「入力」コマンドボタンをクリックしても作動できません。
ご指導いただけませんでしょうか。
参考
Private Sub UserForm_Initialize()
TextBox1.Text = Format(Date, "mm/dd")
End Sub
'[登録]ボタンクリック時の処理
Private Sub CommandButton1_Click()
If TextBox2.Value = "" Then
MsgBox ("必須の電話番号が入力されていません。")
TextBox7.SetFocus
End If
Exit Sub
Dim コントロール1 As Control
For Each コントロール1 In Frame1.Controls
If コントロール1.Value = True Then Exit For
Dim n As Long '行の変数
n = 2
Do While Cells(n, 8) <> ""
n = n + 1
Loop
Next
Cells(n, 2) = TextBox1.Text '入力日
Cells(n, 3) = TextBox2.Text '電話番号
Dim errmsg As String
If TextBox2.Text = "" Then errmsg = errmsg & "必須の電話番号が入力されていません。" + vbNewLine
TextBox2.SetFocus
TextBox1.Text = Format(Date, "mm/dd")
TextBox2.Text = ""
コントロール1.Value = ""
TextBox1.SetFocus
End Sub
'*********************
'終了 YOKOHAMA CHABIN
'*********************
Private Sub CommandButton2_Click()
End
End Sub

No.4ベストアンサー
- 回答日時:
Private Sub CommandButton1_Click() ’CommandButton1が押されると実行する
If TextBox2.Value = "" Then ’TextBox2の値が””(空白)ならば、
MsgBox ("必須の電話番号が入力されていません。") ’メッセージを出力
TextBox7.SetFocus ’どこにあるか不明ですがTextBox7にフォーカスを設定(選択、入力モード)
End If ’条件分岐終了
Exit Sub ’Private Sub CommandButton1_Click()の実行が終了 (条件分岐終わって通常処理になったのに終了してはダメじゃん)
これは、End Ifの後にExit SubがあるのでPrivate Sub CommandButton1_Click()の実行が終了します。
なので条件 If TextBox2.Value = "" Then だった時に実行をやめるのでEnd Ifの直前に書きます。
従って、#2の回答の様にします。
ユーザーフォームがロードされる時に実行されます。
Private Sub UserForm_Initialize()
TextBox1.Text = Format(Date, "mm/dd")
End Sub
>Cells(n, 2) = TextBox1.Text '入力日 '※2
TextBox1には、05/04のような表示がされているはずですが
取り敢えずコード上からここまで
上手くできました。
丁寧なご指導で本当にありがとうございます。
先は遠いですがほんの少しずつ前に進んでいます。
参考に下記のようにしました。
Private Sub CommandButton1_Click()
If TextBox2.Value = "" Then
MsgBox ("必須の電話番号が入5力されていません。")
Exit Sub
TextBox2.SetFocus
End If
No.3
- 回答日時:
>よく理解できないまま※1にしました。
#2の回答の様にしてください。
Cells(n, 2) = TextBox1.Text '入力日 '※2 エラー?
nは2以上が代入されTextBox1は空白でもエラーは出ないかと、、
何れにしても
ご質問のコードを整理したほうが良いですね。
>コマンドボタンをクリックしても作動できません。
につきましては、#2の様にしてください。
コードに登場するコントロールが配置されていれば実行できると思います。
No.2
- 回答日時:
#1
読み直し、すみません訂正します。
Private Sub CommandButton1_Click()
If TextBox2.Value = "" Then
MsgBox ("必須の電話番号が入力されていません。")
TextBox7.SetFocus
Exit Sub
End If
上記の様にExit SubをIF条件TRUE内に入れてください。
No.1
- 回答日時:
コードを整理する必要があるようにも思いますが
TextBox7.SetFocus
End If
Exit Sub ここですべての場合に抜けています。
なので
Exit Sub は不要ですので削除してみてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
一定時間操作されないと自動で...
-
特定のキーを押すまでループさ...
-
コンボボックスにキー入力をさ...
-
SelectionChangeCommitted
-
VBA・WebBrowserコントロールで...
-
TextboxまたはMaskEditboxでの...
-
WPFでの時刻入力コントロールに...
-
Objective-Cでキーボードイベン...
-
KEYPREVIEW=TRUEについて。意味...
-
NULLで検索を行ったときは全件...
-
「ご処理進めて頂きますようお...
-
CloseとDisposeの違い
-
エクセルVBAで、MsgBox やInput...
-
VBAでループ内で使う変数名を可...
-
エクセルで、日付を入力すると...
-
Excelシート上のマクロを登録し...
-
メルカリのメルカードで買い物...
-
UMLでの例外処理
-
エクセルの画面にユーザーフォ...
-
アクセスVBA フォームのス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【VB】タブ切り替え時のイベント
-
特定のキーを押すまでループさ...
-
KEYPREVIEW=TRUEについて。意味...
-
WPFでの時刻入力コントロールに...
-
Visual Basic 6.0 コンボボック...
-
タブキー押下時のイベントをひ...
-
(VBA)チェックボックスのclick...
-
コンボボックスにキー入力をさ...
-
EXCEL VBA でIEを制御して、INP...
-
VB.NETのDropDownListをReadOnl...
-
VB.NETでフォームがない...
-
NULLで検索を行ったときは全件...
-
キーバッファについての質問
-
フォーカスについてお教えください
-
Excel VBA マクロ実行中のみテンキ...
-
コントロールキーが押されたキ...
-
vba set Focus
-
テキストボックスの入力文字を1...
-
一定時間操作されないと自動で...
-
キーイベントを擬似的に発生さ...
おすすめ情報
ご指導ありがとうごさいます。
上手くできませんでした
よく理解できないまま※1にしました。
そうしたら※2に黄色の反転が。
Private Sub CommandButton1_Click()
If TextBox2.Value = "" Then
Exit Sub '※1
MsgBox ("必須の電話番号が入力されていません。")
TextBox7.SetFocus
End If
Cells(n, 2) = TextBox1.Text '入力日 '※2
未熟な私にお手数かけます。
誠に恐れ入りますが下記の意味が理解できず試行錯誤しています
良ければ具体的にご指導いただければ幸甚の至りです。
#2
上記の様にExit SubをIF条件TRUE内に入れてください。
コードのに関して整理に関してはここまでやっとこぎつけたところです。
何とかしなければならないですね。
ご指摘に感謝しています