VBA для включения флажков в пользовательской форме, которая устанавливается / не отмечается в зависимости от значения таблицы - PullRequest
0 голосов
/ 02 мая 2018

Запрос: включить в мою форму пользователя флажок, который будет отмечен / не отмечен в зависимости от значения True / False в столбце таблицы

Текущее состояние :

У меня есть пользовательская форма, которая используется для добавления, редактирования или удаления записей в таблице. В частности, редактирование работает таким образом, что у меня есть поле со списком, которое соответствует почтовым адресам в столбце A и текстовым полям для каждого столбца таблицы.

Когда вы выбираете почтовый адрес в поле со списком, текстовые поля формы пользователя заполняются данными из этой строки.

enter image description here

В качестве примера я хотел бы добавить флажок , который говорит "женат" и соответствует столбцу в таблице, который имеет значения "True" или "False". Этот флажок теперь должен быть установлен / снят автоматически в зависимости от значения в соответствующем столбце.

Мой код:

Private Sub c_01_Change()

' c_01 is the combo box
   With c_01
   ' B_02 is the delete button
   ' B_03 is the save button
        B_02.Visible = .ListIndex > -1
        B_03.Visible = True
        If .ListIndex = -1 Then Exit Sub

        ' T_0X are the text boxes
        For j = 0 To UBound(.List, 2)
            Me("T_" & Format(j, "00")).Text = .Column(j)
            Me("T_" & Format(j, "00")).Locked = False
            If j > 2 Then Me("T_" & Format(j, "00")).Text = Format(.Column(j), "0.00")
        Next
    End With
End Sub

Private Sub T_00_Change()
    M_text 0
    B_02.Visible = T_00.Text <> ""
End Sub
Private Sub T_01_Change()
    M_text 1
End Sub
Private Sub T_02_Change()
    M_text 2
End Sub
Private Sub T_03_Change()
    M_text 3
End Sub
Private Sub T_04_Change()
    M_text 4
End Sub
Sub M_text(y)
    If c_01.ListIndex > -1 Then c_01.Column(y) = Me("T_" & Format(y, "00")).Text
End Sub

1 Ответ

0 голосов
/ 02 мая 2018
  1. Добавить флажок.
  2. Затем проверьте значение в ячейке. В моем примере это Cells(1,1):
  3. Напишите это:

CheckBox1.Value = CBool(Cells(1, 1))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...