Страницы: 1
RSS
код для 3 значений CheckBox
 
Доброе время суток! подскажите пожалуйста, как прописать код для трех значений CheckBox (пустой квадратик, квадратик с черным флажком, квадратик с серым флажком). Пока получилось только с двумя (пустой и черный)серый флажок выставляется, но не производит никаких действий
 
А что должен делать этот код?  
 
PS: Серый флажок, это когда значение чекбокса равно Null (не задано)
 
А что должен делать этот код?  
 
Спасибо за скорость отклика, не ожидал)...  
сейчас поясню на примере  
 
Private Sub CheckBox1_Click()  
If CheckBox1 Then  
Sheets("Лист1").Range("A1").Value = "какое-то слово №1"  
Else  
Sheets("Лист1").Range("A1").Value = ""  
End If  
End Sub  
- это рабочий код для двух значений (пусто и черный)  
нужно как-то дописать код на серый флажок, что-бы он выполнял    
Sheets("Лист1").Range("A1").Value = "какое-то слово №2"    
....по отдельности получается, а объединить их все вместе в один код - нет
 
Я, конечно, могу дописать код и для серого флажка:  
(что-то типа такого, в реальности, возможно, код будет посложнее, т.к. такая проверка на Null может не пройти)  
 
Private Sub CheckBox1_Click()  
   Select Case CheckBox1  
       Case True: [a1] = "флажок установлен"
       Case False: [a1] = "флажок снят"
       Case Else: [a1] = "флажок серый"
   End Select  
End Sub  
 
 
Но... третья строка в коде никогда не сработает,  
т.к. после щелчка на чекбоксе (событие Click) он не может остаться серым (в промежуточном состоянии) - там либо будет галочка, либо будет пусто.
 
в принципе через событие Change работает этот код  
 
CheckBox1 = Null  
  Sheets("Лист1").Range("A1").Value = "флажок серый"  
 
но он препятствует включению следующего кода  
     
Select Case CheckBox1  
       Case True: [a1] = "флажок установлен"
       Case False: [a1] = "флажок снят"
   End Select
 
все робит отлично, дописал одну строчку, и немного изменил твой код, спасибо тебе за участие и за помощь
Страницы: 1
Читают тему
Наверх