Добрый день, необходимо программно поменять состояние CheckBox, в приложенном файле примере изменение происходит следующим образом , т.е. значение серое, для того что бы значение перешло в активный режим необходимо кликнуть на CheckBox Значение с Value соответственно не меняется, подскажите каким образом поправить код?
Добрый день, необходимо программно поменять состояние CheckBox, в приложенном файле примере изменение происходит следующим образом , т.е. значение серое, для того что бы значение перешло в активный режим необходимо кликнуть на CheckBox Значение с Value соответственно не меняется, подскажите каким образом поправить код?Sashagor1982
Pelena, Вот в этой части кода программа берет значение из умной таблицы и если стоит "+", то активирует CheckBox, но он почему то активируется серым [vba]
Private Sub objectControlValues(ByRef objControlChecked As Control, name As String, columnNames As String) On Error Resume Next Dim lineListTable As ListObject Set lineListTable = ThisWorkbook.Worksheets("List").ListObjects("tblOrder") If (objControlChecked.name = name) Then If objControlChecked.Value = "+" Then objControlChecked.Value = True Else objControlChecked.Value = Intersect(mainLine, lineListTable.ListColumns(columnNames).DataBodyRange) End If End If On Error GoTo 0 End Sub
[/vba]
Pelena, Вот в этой части кода программа берет значение из умной таблицы и если стоит "+", то активирует CheckBox, но он почему то активируется серым [vba]
Private Sub objectControlValues(ByRef objControlChecked As Control, name As String, columnNames As String) On Error Resume Next Dim lineListTable As ListObject Set lineListTable = ThisWorkbook.Worksheets("List").ListObjects("tblOrder") If (objControlChecked.name = name) Then If objControlChecked.Value = "+" Then objControlChecked.Value = True Else objControlChecked.Value = Intersect(mainLine, lineListTable.ListColumns(columnNames).DataBodyRange) End If End If On Error GoTo 0 End Sub