Excel VBAについて
ユーザーフォームで
名前⇒txtTextBox1
年齢⇒txtTextBox2
電話番号⇒txtTextBox3
上記のTextBoxに、全て値が入ったら、コマンドボタンを押せるようにしたいです。
入力漏れを判定
Public Function 入力漏れ無() As Boolean Dim myCtrl As Control For Each myCtrl In Me.Controls If myCtrl.Name Like "txt*" Then If Len(myCtrl.Value) = 0 Then 入力漏れ無 = True End If End If Next 入力漏れ無 = False End Function
3つのテキストボックスの値が変わったときの判定
Sub textbox_change() Dim myCtrl As Control For Each myCtrl In UserForm1.Controls If myCtrl.Name Like "txt*" Then EnableCB1Button myCtrl.Name End If Next End Sub
コマンドボタンを押す判定
Private Sub EnableCB1Button(ByVal txtData As String) Dim myCtrl As Control For Each myCtrl In Me.Controls If Len(txtData) = 0 Then CB1 = False ElseIf 入力漏れ無 = False Then CB1.Enabled = True End If Next End Sub
どうしてもコマンドボタンが有効になりません。
どこを修正するのが、お手数ですが、ご教示をお願いします。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/28 08:39