いつもお世話になっております
下記のコードは
リストボックスが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ランキング
-
現在のブックを閉じないで、マ...
-
IEの通知バー制御ができなくなった
-
Excel VBA 定義されたプロージ...
-
VBA 複数条件の分岐処理の上手...
-
VBAで各列の"+"と"o"の合計数を...
-
ExcelVBA シート名を複数セルか...
-
VB.net(VB)で、フォームにExcel...
-
ユーザーフォームに別シートか...
-
VBA listBoxから
-
エクセルのマクロについて教え...
-
【VBA】マクロの入ったファイル...
-
VBA初心者 Ctrl+での操作、ボタ...
-
VBAに詳しい方教えてください。
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
Excel-VBAのmsgBox()の不思議
-
ExcelのVBAコードについて教え...
-
エクセルのマクロについて教え...
-
エクセルVBAにて =A1=B1とすれ...
-
ExcelのVBAコードについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
c++ cmathとmath.h
-
python: 直角三角形の種類を求...
-
=FREQUENCY(範囲,{59,69,74}) ...
-
三辺の長さから角度を求めたい...
-
エクセル マクロ(A1:A10)までの...
-
プログラム開始から 2秒毎に ...
-
【ランダム関数】0と1を返すだ...
-
setIntervalでの時間間隔(AS2.0)
-
エラー(型が一致しません。)...
-
VB6でユーザー定義型がNothing...
-
関数定義について質問です 架空...
-
TextChangeイベントが発生しない
-
VB.NET の配列の要素数
-
#define 文
-
LRESULTとHRESULT
-
変な質問ですみません、n番目の...
-
配列の要素番号を取得するには?
-
VBでボタンを押すと画像をラン...
-
Vba 配列の中の特定文字列の位...
-
エラー438でオブジェクトの...
おすすめ情報
付け加えぶぶんですが、
間違っているところおしえてくれませんでしょうか
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