К ячейке в таблице1 привязан чекбокс. Необходимо, чтобы при нажатии на чекбокс в ячейку попадала сегодняшняя дата. При снятии чекбокса данные в ячейке удалялись.
Добрый день!
К ячейке в таблице1 привязан чекбокс. Необходимо, чтобы при нажатии на чекбокс в ячейку попадала сегодняшняя дата. При снятии чекбокса данные в ячейке удалялись.Dmitry_spb
_Igor_61, нет , требуется, чтобы пользователь нажал на чекбокс и поле даты заполнилось, если поле уже заполнено, то когда пользователь убирает галочку с чекбокса, ячейка становится пустая. В Вашем случае поле заполняется только во время ввода формулы в ячейке, а не от нажатия на чекбокс.
_Igor_61, нет , требуется, чтобы пользователь нажал на чекбокс и поле даты заполнилось, если поле уже заполнено, то когда пользователь убирает галочку с чекбокса, ячейка становится пустая. В Вашем случае поле заполняется только во время ввода формулы в ячейке, а не от нажатия на чекбокс.Dmitry_spb
Прежде, чем закрывать. Вариант, который когда-то где-то подсмотрел. Без флажков, но внешне смотрится как с флажками.
Суть в том, что флажковой колонке назначается шрифт Wingdings и используются две буквы: русская "ю" и латинская "o". Первая в этом шрифте отображается как галочка в квадратике ("истина"), а вторая - как просто квадратик ("ложь"). Управляется так: жмём Delete, когда хотим сбросить флажок, и вводим любой символ (и Enter), когда хотим его установить.
Ну, и несложный макрос на событие листа Change соответственно реагирует на описанное управление: [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("E4:E10")) Is Nothing Then Exit Sub Application.EnableEvents = False If Not IsEmpty(Target.Value) Then Target.Value = Chr(254) 'русская маленькая ю = "чекбокс установлен" Target.Previous = Date 'проставляем дату в ячейку слева Else Target.Value = Chr(111) 'латинская маленькая o = "чекбокс сброшен" Target.Previous.ClearContents 'стираем дату в ячейке слева End If Application.EnableEvents = True End Sub
[/vba]
P.S. Важное следствие таких "флажков" - по ним можно фильтровать!
Прежде, чем закрывать. Вариант, который когда-то где-то подсмотрел. Без флажков, но внешне смотрится как с флажками.
Суть в том, что флажковой колонке назначается шрифт Wingdings и используются две буквы: русская "ю" и латинская "o". Первая в этом шрифте отображается как галочка в квадратике ("истина"), а вторая - как просто квадратик ("ложь"). Управляется так: жмём Delete, когда хотим сбросить флажок, и вводим любой символ (и Enter), когда хотим его установить.
Ну, и несложный макрос на событие листа Change соответственно реагирует на описанное управление: [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("E4:E10")) Is Nothing Then Exit Sub Application.EnableEvents = False If Not IsEmpty(Target.Value) Then Target.Value = Chr(254) 'русская маленькая ю = "чекбокс установлен" Target.Previous = Date 'проставляем дату в ячейку слева Else Target.Value = Chr(111) 'латинская маленькая o = "чекбокс сброшен" Target.Previous.ClearContents 'стираем дату в ячейке слева End If Application.EnableEvents = True End Sub
[/vba]
P.S. Важное следствие таких "флажков" - по ним можно фильтровать!Gustav