
いつもお世話になっております
下記のコードは
リストボックスが3つありまして、
すべて選択しましたら、コマンドボタンをクリック
できるというものです。
某様から頂戴致しました。
ここで、TextBoxが2つ追加で
TextBoxが空白でなければコマンドボタンをクリック
できるようにしたいのですが、
Private Sub chListBox()
Dim con As Control
Dim lb_count As Integer
Dim te As Control
lb_count = 0
For Each con In Me.Controls
If TypeName(con) = "ListBox" Then
If con.ListIndex > -1 Then lb_count = lb_count + 1
End If
Next
If lb_count = 3 Then ' ListBox が3個なので 3
CommandButton1.Enabled = True
Else
CommandButton1.Enabled = False
End If
Private Sub ListBox1_Click()
Call chListBox
End Sub
Private Sub ListBox2_Click()
Call chListBox
End Sub
Private Sub ListBox3_Click()
Call chListBox
End Sub
--------------------------------------追加
TextBox1_Change
call teb
TextBox1_Change
call teb
とついかして、
Private Sub chListBox()
Dim con As Control
Dim teb as Control '------------------textbox追加
Dim lb_count As Integer
lb_count = 0
'-------ここの部分からどうしたらよいのかおしえてくれませんでしょうか
For Each con In Me.Controls
If TypeName(con) = "ListBox" Then
If con.ListIndex > -1 Then lb_count = lb_count + 1
End If
Next
If lb_count = 3 Then ' ListBox が3個なので 3
CommandButton1.Enabled = True
Else
CommandButton1.Enabled = False
End If
No.1ベストアンサー
- 回答日時:
Call chListBox
call teb
チェックで呼び出すのは1つのサブプロシージャーで構わないでしょ。
Private Sub chLB_TB()
Dim con As Control
Dim ch_count As Integer
ch_count = 0
For Each con In Me.Controls
If TypeName(con) = "ListBox" Then
If con.ListIndex > -1 Then ch_count = ch_count + 1
End If
If TypeName(con) = "TextBox" Then
If con.Text <> "" Then ch_count = ch_count + 1
End If
Next
If ch_count = 5 Then ' ListBox が3個+TextBoxが2個なので 5
CommandButton1.Enabled = True
Else
CommandButton1.Enabled = False
End If
End Sub
で
Call chLB_TB
とか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセル マクロ(A1:A10)までの中で一番多く出た数字をB10に表示 6 2023/04/25 17:01
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) A列B列C列 3 2023/04/26 18:11
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Visual Basic(VBA) Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1 2 2023/01/12 12:24
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba Array関数について教えてく...
-
vbsでのwebフォームへの入力制限?
-
エクセルのマクロについて教え...
-
【ExcelVBA】5万行以上のデー...
-
VBA 入力箇所指定方法
-
【マクロ】シートの変数へ入れ...
-
【マクロ】並び替えの範囲が、...
-
【マクロ】開いているブックの...
-
Vba セルの4辺について罫線が有...
-
VBAでCOPYを繰り返すと、処理が...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
エクセルの改行について
-
エクセルのVBAコードと数式につ...
-
算術演算子「¥」の意味について
-
vbaにてseleniumを使用したedge...
-
vb.net(vs2022)のtextboxのデザ...
-
【マクロ】モジュール変数の記...
-
Excelのマクロについて教えてく...
-
VBAでFOR NEXT分を Application...
-
Vba FileSystemObject オブジェ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
c++ cmathとmath.h
-
三辺の長さから角度を求めたい...
-
FLASHでランダムでURLを表示さ...
-
プログラム開始から 2秒毎に ...
-
ActionScript3.0でのカウントダ...
-
【ランダム関数】0と1を返すだ...
-
FlashLite1.1で日数カウントアップ
-
=FREQUENCY(範囲,{59,69,74}) ...
-
python: 直角三角形の種類を求...
-
ミリ秒までカウントできるタイマー
-
エクセル マクロ(A1:A10)までの...
-
時計のカウントダウンする方法
-
エラー(型が一致しません。)...
-
VB6でユーザー定義型がNothing...
-
配列の要素番号を取得するには?
-
LRESULTとHRESULT
-
#define 文
-
TextChangeイベントが発生しない
-
VB.NET の配列の要素数
-
重複しない乱数の生成
おすすめ情報
付け加えぶぶんですが、
間違っているところおしえてくれませんでしょうか
If TypeName(con) = "ListBox" And TypeName(te) = "TextBox" Then
If con.ListIndex > -1 And te.ListIndex <> "" Then lb_count = lb_count + 1
Private Sub TextBox1_Change()
Call te
End Sub