Позначка елементів списку
Постановка задачі
Маємо на аркуші список чого-небудь. Хотілося б використовувати звичні прапорці-чекбокси або жирні точки-перемикачі для відзначення обраних елементів. Приблизно так:
Скопіюйте туди цей код:
Перша половина коду перевіряє, чи не було одиночного клацання по осередках в діапазоні A2: A100 і якщо був - то ставить "галочку" - знак, який в шрифті Marlett знаходиться на букві "а". Друга половина цього коду знімає прапорець при подвійному натисканні на комірці. При необхідності замініть в цьому коді "A2: A100" на Ваш діапазон.
При необхідності підрахувати кількість помічених елементів завжди можна використовувати просту формулу, яка підраховує кількість осередків з буквою "а" в нашому діапазоні:
Якщо треба, щоб користувач міг помітити тільки один елемент зі списку, то код спрощується - достатньо всього одного макросу:
Цей макрос спочатку повністю очищає наш стовпець А, а потім вводить в поточну комірку букву "h", яка в шрифті Marlett дасть нам характерний символ вибору за типом "один-з" - жирну крапку. Два таких символу поставити, таким чином, не вийде - доступний буде тільки вибір одного елемента зі списку. Щоб витягти обраний елемент, можна використовувати стандартну функцію ВПР (VLOOKUP). яка буде шукати символ точки (тобто букву "h") в першому стовпці нашої таблиці і, знайшовши, видавати прізвище з другого:
