Страница 1 из 1

как вставить checkbox?

Добавлено: 18 май 2009, 11:51
ropHocTau
Товарищи, помогите чайнику (мне).
Идея такова: создать чекбоксы в - для того чтобы проставлять галочки в нужных строках, а потом сортировать только помеченные галочкой строки.

Я не знаю как вставлять чекбоксы (ячейки с галочкой) в столбец I (с I2 вниз) и как потом создать макрос по выборке этих строк которые будут помечены галочкой. ОБЪЯСНИТЕ плзз.
Прилагаю файл.

Заранее спасибо.

Re: как вставить checkbox?

Добавлено: 18 май 2009, 13:34
Aent
Чекбоксы как элемент управления здесь не нужны.
Просто вставляйте в ячейку символ Сhr(252) в шрифте Wingdings

Код: Выделить всё

With ActiveCell
      .Value = Chr(252)
      .Font.Name = "Wingdings"
End With
Переключение можно сделать в обработчике обычного/двойного клика или
события изменения ячейки.
Отбор строк как всегда автофильтром

Re: как вставить checkbox?

Добавлено: 18 май 2009, 14:52
ropHocTau
Кхм-кхм, я чайник, точнее мега-чайник.
И куда вставлять этот код не знаю. И я не знаком в VB.
Но ведь должна быть возможность в Экселе сделать в ячейке чекбокс... :confused: .... без всяких кодов, просто инструментами...

из вышеупомянутого поста мне понятна строчка про автофильтр, а остальное темный лес... но все равно спасибо Aent-у

Re: как вставить checkbox?

Добавлено: 19 май 2009, 13:58
Aent
Если не знаете (и не имеете возможности изучать ) VBA - используйте для маркирования нужных записей отдельный столбец (I ?), помещая туда, скажем "!" для маркируемых записей.
Чекбокс в ячейку поместить конечно можно (используя, например, панель "элементы
управления"). Можно и в его свойствах прописать Сaption ="" и LinkedCELL = адрес
ячейки куда помещается значение (ИСТИНА или ЛОЖЬ).
Только всё это будет очень криво и не работоспособно с мало мальски приличным
количеством строк ...
Если очень уж хочется что бы по клику мыши маркировалась строка,
Нажмите Alt-F11 и добавьте для Sheet1 код

Код: Выделить всё

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    With Target
        If .Column <> 9 Or .Row = 2 Then Exit Sub
        Application.EnableEvents = False
        .Value = IIf(.Value = "!", vbNullString, "!")
        Application.EnableEvents = True
        Cancel = True
    End With
End Sub

Re: как вставить checkbox?

Добавлено: 19 май 2009, 17:20
ropHocTau
Спасибо за поддержку, Aent.
Я решил:
1. пока обойтись без чекбоксов
2. начать изучать ВБА
:)

Re: как вставить checkbox?

Добавлено: 20 май 2009, 17:48
Aent
Верной дорогой идёте, товарищи!
;)