Как в офисе.
Сегодня мы научимся создавать в MS Excel «чеклист» или, если по-русски, список дел. Список дел в Excel — с этим вы наверняка уже сталкивались в попытках организовать работу. Обычно люди выделяют цветом сделанные/несделанные дела, «зачеркивают» пункты списка. но все это слишком долго, да и просто неудобно.
Гораздо проще все это можно реализовать с помощью «галочек» — установки и снятия т.н. «флажков». Ну, а чтобы все не было так просто, мы сделаем наш список дел более функциональным: снабдим внутренним счетчиком и счетчиком выполнения задач.
Расставляем флажки в MS Excel
Сначала создадим простейшую таблицу со списком дел. Затем перейдем на вкладку «Разработчик» и в группе «Элементы управления» активируем инструмент «Вставка» и выберем пункт «Флажок». Как только флажок окажется помещенным на листе, сотрите ненужную подпись и поставьте его в выбранную ячейку.
Теперь протяните ячейку с флажком за уголок до конца «списка дел», и такие же «флажки» появятся во всех остальных ячейках столбца. Итак шаблончик будущего списка дел готов — можно даже щелкать по флажкам уже сейчас, расставляя галочки. только вот удовольствия и пользы от этого никакого, верно? Давайте её добавим!
Список дел с зависимостями в MS Excel
Щелкаем правой кнопкой мыши по первому элементу-флажку, и выбираем самый нижний пункт из выпадающего меню: «Формат объекта».
В появившемся окне «Форматирование объекта» щелкните в поле «Связь с ячейкой», а затем, щелкните на соседнюю ячейку справа от текущей. Тот же фокус нужно проделать для всех остальных флажков, создав пары с соседней ячейкой.
Обратите внимание: если поставить галочку на одном из флажков, в «связанной» ячейке появится надпись: «истина» если «галочка» установлена или «ложь», если снята. Пока запомним это просто как интересный факт, и двинемся дальше.
Функция СЧЕТЕСЛИ
Ну а теперь немого функций и математики. В «список дел» я добавляю ещё 2 строки: число задач вообще, и число задач, которые уже выполнены. Обе строи заполняются данными автоматически, а помогает им в этом встроенная Excel-функция СЧЕТЕСЛИ. Работает она просто:
=СЧЁТЕСЛИ( диапазон_ячеек ; критерий_работы )
Как посчитать все выполненные задачи? Задать в качестве критерия работы функции положение «ИСТИНА» в третьей колонке (как вы помните, положение зависит от того — стоит галочка или нет).
А как посчитать все задачи (и выполненные и невыполненные) сразу? Сначала посчитать по отдельности количество значений «ЛОЖЬ» и «ИСТИНА», а затем сложить результат.
В общем и целом, наш список дел или список задач на день построенный в MS Excel, уже готов. Нужно только немного украсить его и сделать более опрятным.
Итоговый список задач в MS Excel
Первым делом скройте столбец «С» (истина/ложь), чтобы он не загромождал вид таблицы. А во вторых, давайте добавим «общий критерий эффективности», то есть ещё одно поле — «можно ли переходить к следующему плану?». Ёжику понятно, что переходить к следующему плану можно только после того, как выполнены все задания нынешнего. Или, перефразируя с языка логики на язык математики: когда пункты «всего задач» и «задач выполнено» нашего списка, равны друг другу!
Воспользуемся простой функцией условием =ЕСЛИ() и зададим исходные данные:
=ЕСЛИ(B8=B7 ; «Да» ; «НЕТ»)
Расшифровывается это просто: если значения равны, то вывести в ячейке слово «ДА», если не равны, «НЕТ». А результат будет выглядеть как у меня на примере ниже.
Обратите внимание только на одну деталь — зеленый цвет ячейки и белый цвет текста в ней. Эти элементы также не мои художества, а результат работы MS Excel, а вернее, принципов условного форматирования, о чем мы говорили с вами в одном из прошлых уроков.
VBA Excel. Элемент управления CheckBox (флажок)
Элемент управления пользовательской формы CheckBox для выбора или невыбора его пользователем и передачи результата в VBA Excel. Свойства «Флажка», примеры кода.
Элемент управления CheckBox
Элемент управления CheckBox состоит из флажка и надписи. В VBA Excel флажок имеет квадратную форму, надпись расположена справа от него. Надпись реагирует на нажатие мышью так же, как и флажок.
Кроме состояний «выбран» или «не выбран», существует и третье состояние флажка: серая галочка на сером фоне. Получить такое состояние на пользовательской форме можно путем присвоения свойству CheckBox.Value значения Null.
Надписи флажков выведены с помощью следующего кода VBA Excel:
Интересно было посмотреть, какое значение отобразится в надписи элемента управления CheckBox2. Обратите внимание на то, что если строку CheckBox2.Caption = "CheckBox2.Value = " & CheckBox2.Value заменить на CheckBox2.Caption = CheckBox2.Value , будет сгенерирована ошибка, так как в VBA не существует текстового отображения значения Null.
Эксперименты показали, что отобразить «Флажок» в третьем состоянии можно также с помощью присвоения свойству CheckBox.Value значения «пустая строка».
Элемент управления CheckBox может использоваться на пользовательской форме для
- выбора или отмены каких-либо параметров и условий,
- отображения или скрытия других элементов управления,
- изменение доступности других элементов управления для взаимодействия с пользователем.
Если требуется выбор только одной опции из группы предложенных, для этой цели в VBA Excel используется набор элементов управления OptionButton.
Свойства элемента «Флажок»
Свойство | Описание |
---|---|
AutoSize | Автоподбор размера «Флажка». True – размер автоматически подстраивается под длину набираемой строки. False – размер элемента управления определяется свойствами Width и Height. |
ControlSource | Ссылка на источник данных для свойства Value. |
ControlTipText | Текст всплывающей подсказки при наведении курсора на CheckBox. |
Enabled | Возможность взаимодействия пользователя с элементом управления. True – взаимодействие включено, False – отключено (цвет флажка и надписи становится серым). |
Font | Шрифт, начертание и размер текста надписи. |
Height | Высота элемента управления. |
Left | Расстояние от левого края внутренней границы пользовательской формы до левого края элемента управления. |
Picture | Добавление изображения вместо текста надписи или дополнительно к нему. |
PicturePosition | Выравнивание изображения и текста в поле надписи. |
TabIndex | Определяет позицию элемента управления в очереди на получение фокуса при табуляции, вызываемой нажатием клавиш «Tab», «Enter». Отсчет начинается с 0. |
TextAlign* | Выравнивание текста надписи: 1 (fmTextAlignLeft) – по левому краю, 2 (fmTextAlignCenter) – по центру, 3 (fmTextAlignRight) – по правому краю. |
Top | Расстояние от верхнего края внутренней границы пользовательской формы до верхнего края элемента управления. |
TripleState | Определяет, может ли пользователь делать выбор между двумя состояниями «Флажка» или между тремя, включая серую галочку на сером квадрате. True – доступны три состояния, False – доступны два состояния. |
Value | Значение «Флажка»: True – галочка установлена, False – галочка не установлена, Null – серая галочка на сером квадрате. |
Visible | Видимость элемента CheckBox. True – элемент отображается на пользовательской форме, False – скрыт. |
Width | Ширина элемента управления. |
WordWrap | Перенос текста надписи на новую строку при достижении границы ее поля. True – перенос включен, False – перенос выключен. |
* При загруженной в поле надписи картинке свойство TextAlign не работает, следует использовать свойство PicturePosition.
Свойство по умолчанию для элемента CheckBox – Value, основное событие – Click.
В таблице перечислены только основные, часто используемые свойства «Флажка». Все доступные свойства отображены в окне Properties элемента управления CheckBox.
Примеры использования CheckBox
Пример 1
Отображение элемента управления CheckBox на пользовательской форме с параметрами, заданными в коде VBA Excel: