[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『checkboxを使用して 条件』(kazu)
エクセル VBAについての質問です
下記コードをしようして Textbox8に 写真ありと入っている場合のみ CheckBox1が表示されています このCheckBox1が表示されているときのみ コマンドボタン4を Enabled = Falseにしたいのですが CheckBox1が表示されていないときは 通常通りにするには どうしたらいいですか?
CheckBox1に チェックを入れた場合は Enabled = Trueです
Private Sub UserForm_Activate()
Dim W As String
W = Me.TextBox8
Select Case W
Case "写真あり"
Me.CheckBox1.Visible = True
Case ""
Me.CheckBox1.Visible = False
End Select
End Sub
ただし 下記コードにて実行しているものをいかしたいのですが
Private Sub ComboBox2_click()
Dim サンプル1 As String
サンプル1 = Me.TextBox1
Select Case サンプル1
Case "A"
Me.CommandButton1.Enabled = False
Me.CommandButton2.Enabled = False
Me.CommandButton3.Enabled = False
Me.CommandButton4.Enabled = True
End Select
Dim ダメージランク As String
Dim クリーニング As String
ダメージランク = Me.ComboBox2
クリーニング = Me.ComboBox3
Select Case ダメージランク
Case "○"
Me.CommandButton1.Enabled = False
Me.CommandButton2.Enabled = False
Select Case クリーニング
Case ""
Me.CommandButton3.Enabled = False
Me.CommandButton4.Enabled = True
Case "水", "S"
Me.CommandButton3.Enabled = True
Me.CommandButton4.Enabled = False
End Select
Case "×"
Me.CommandButton1.Enabled = True
Me.CommandButton2.Enabled = True
Me.CommandButton3.Enabled = False
Me.CommandButton4.Enabled = False
End Select
End Sub
優先順位としては CheckBox1が表示されているときは CommondButton4.Enabled = False チェックが 入った場合は 上記コードを実行
CheckBox1が表示されてない場合は 上記コードを実行
< 使用 Excel:Excel2016、使用 OS:Windows10 >
最後の文では、
最優先は CheckBox1が表示されている場合で False
CheckBox1が表示されていない場合はComboBox2_clickによる
と読めます。
再整理していただけないと回答できません。
(kazuo) 2020/03/27(金) 08:03
[[20200326222916]] 『VBA 初心者です CommondButtonの』(じょーかー)
(もこな2) 2020/03/27(金) 09:46
その通りの認識で構いません
あと 続きとなります
(kazu) 2020/03/27(金) 11:54
>あと 続きとなります
私見ですが、前提になるなら元のトピックでそのまま続けてもよかったかもです。
また、ニックネームは特に理由がない限り、変えないほうがいいですよ。
(もこな2) 2020/03/27(金) 12:27
チェックボックスが表示されない場合は ユーザーフォーム内 前提とした処理をそのまま行います
チェックボックスが表示されている場合は チェックボックスにチェックが入っていない場合は コマンドボタン2を コマンドボタン1が押されてもenabled falseの状態を維持 チェックが入ったら コマンドボタン1を押したら コマンドボタン2が enabled Trueになるようにしたいです
最初の説明とは 少し変更になりました
(kazu) 2020/03/27(金) 16:29
とりえず、コマンドボタンだと、押したかどうかを保持するのが面倒なので、トグルボタンに変えてみてはどうでしょうか?
(もこな2) 2020/03/27(金) 17:31
コマンドボタン2のenabled は
チェックボックスが表示されている場合で、
チェックボックスにチェックが入っていない場合はfalse チェックボックスにチェックが入っている場合で コマンドボタン1が押されたら True チェックボックスが表示されていない場合は そのほかのコードによる でよければ、 一例です。
Private Sub UserForm_Activate()
Me.コマンドボタン2.Enabled = False Me.チェックボックス.Value = False If Me.TextBox8.Text = "写真あり" Then Me.チェックボックス.Visible = True Else Me.チェックボックス.Visible = False End If End Sub
Private Sub UserForm_Click()
Select Case Me.TextBox1.Text Case "A" Me.コマンドボタン1.Enabled = False Me.コマンドボタン2.Enabled = False 'その他のコードだが、Falseにする場合は他の判定不要 Me.コマンドボタン3.Enabled = False Me.コマンドボタン4.Enabled = True Case "B" Me.コマンドボタン1.Enabled = True If Not Me.チェックボックス.Visible Then _ Me.コマンドボタン2.Enabled = True 'その他のコード、Trueにする場合は優先上位の判定が必要 Me.コマンドボタン3.Enabled = True Me.コマンドボタン4.Enabled = True End Select End Sub
Private Sub コマンドボタン1_Click()
If Me.チェックボックス.Visible Then If Me.チェックボックス.Value Then Me.コマンドボタン2.Enabled = True Else ' Me.コマンドボタン2.Enabled = false 'その他のコードだが、Falseにする場合は他の判定不要 End If End Sub
Private Sub チェックボックス_Change()
If Me.チェックボックス.Value = False Then Me.コマンドボタン2.Enabled = False End Sub
(kazuo) 2020/03/27(金) 23:14
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.