現在、チェックボックスの onclick イベント内で Sub を呼び出そうとしています。私がしたいのは、クリックしたチェックボックスの groupName、Name、および Value パラメータを取得し、変数を使用してグループ内の残りのチェックボックスを非表示または非表示に切り替えるサブにフィードすることです。ただし、同じ機能を持たせたい複数のグループチェックボックスがあり、onclickイベントごとに複数の関数を作成するのではなく、毎回可視性の変更を処理するサブを呼び出すことができるようにしたい.
上の画像を考えてみましょう。「管理者」チェックボックスをfalseに設定すると、同じボックス内の「古いバージョン」チェックボックスが非表示になります。trueにチェックすると、再び表示されるはずです。クライアントボックスでも同じことをしたいです。オンラインで調べたところ、多くの人が ActiveControl.Value または Application.Caller の使用を推奨していますが、これらのどれも機能していないようです。これまでに使用している 2 つのサブウーファーは以下にあります。現在の状態では、アプリケーション エラー
admin_value = ActiveControl.Value
完全なコード スニペットは次のとおりです。
Private Sub admin_toggle_Click()
Dim admin_group As String
Dim admin_name As String
Dim admin_value As String
admin_value = ActiveControl.Value
admin_name = ActiveControl.Name
admin_group = ActiveControl.GroupName
Call toggle_options
End Sub
Private Sub toggle_options()
Dim ctl As Control
For Each ctl In Me.Controls
If TypeOf ctl Is MSForms.CheckBox Then
If ctl.GroupName = admin_group Then
If ctl.Name <> admin_name Then
If admin_value = True Then
ctl.Visible = True
Else
ctl.Visible = False
End If
End If
End If
End If
Next ctl
End Sub
前もって感謝します。