Випадаючі списки в Excel – за хвилину…

Іноді нам треба вміти вводити в комірки певного діапазону лише одне з набору кількох, наперед заданих значень. В такій ситуації дуже зручно було мати можливість б вибирати потрібне значення з випадаючого списку.

image

Сьогодні я розповім вам, як це зробити, на прикладі “з реального життя”. Впевнений, ви зможете знайти чимало інших застосувань описаного мною функціоналу.

Що ж, почнемо. Приклад, який я хочу використати – це створення вчителем електронного журналу обліку успішності студентів. Напевне, ви вже здогадались, що вести цей журнал ми будемо у файлі Microsoft Office Excel. Оскільки оцінка, отримана студентом може бути лише 2,3,4, або 5 (а також “н“ чи “сп”, чи “черг.”), вводити ці речі ми будемо через випадаючий список.

Покроковий алгоритм підготовки файлу може бути, наприклад, таким:

  1. формуємо структуру листа – прописуємо назви стовпчиків і прізвища студентів. В результаті ви отримаєте щось на кшталт

    image
    До речі, я сподіваюсь, ви знаєте, що можете вводити дані одразу на кілька листів книги, просто виділивши перед введенням діапазон листів? Аби зробити це, слід клацнути лівою кнопком миші на ярлику першого листка, а потім, тримаючи SHIFT, – на останньому. Таким чином ви можете створити заготовки листів журналу одразу на кілька місяців.

  2. На окремому листі, який в нас називається “службові дані“, вводимо всі можливі значення оцінок і відміток, які можуть бути введені до журналу:
     image 
  3. Виділяємо всі комірки, куди потрібно буде вводити дані:

    image , і

  4. Налагоджуємо для них правила валідації даних, для чого обираємо команду Data Validation з вкладки Data:

    image
    У вікні, яке відкривається, обираємо такі опції:

    image

    тобто, обираємо у полі Allow пункт List, а у якості джерела даних для списку вибираємо діапазон на листі “службові дані”, який містить всі можливі значення, які можуть бути ввендені у комірки. За бажання можна перемкнутись на вкладинку Error Alert і прописати текст повідомлення про помилку на той випадок, якщо ви помилково введете неправильне значення вручну, замість того, щоб один з елементів списку:

    image

  5. Все! Тепер ви можете просто обрати зі списку значення, яке повинне бути в комірці:

    image
    А якщо спробувати ввести якесь неправильне значення, з’явиться таке повідомлення:

    image

Останній штрих – оформити діапазон у вигляді таблиці даних:

image

Це дасть можливість фільтрувати дані, обчислювати деякі підсумкові значення і т.ін.:

image

А лист “службові дані” можна просто заховати, аби він не мозолив очі:

image

Ось і все. Ну що, як ви вважаєте, була ця стаття корисною? А які застосування для таких способів валідації даних бачите ви?

P.S. Наступного разу я розповім вам, як реалізувати випадаючий список з допомогою елементів керування.

Ви можете відслідковувати коментарі до цього запису за допомогою RSS 2.0. Ви можете лишити коментар, або використати трекбек з Вашого сайту.

Коментарів: 3 »

 
  • Illya says:

    Wow! Оце інтерактив!

    А як зробити таку меню з працюючою кнопкою переходу, як у Вас на малюнку?

    • Все просто, треба лише написати ось такий макрос для кнопки:

      Range("J5").Select
      Dim temp As String
      temp = Range("J5").Text
      Range("J5").Hyperlinks.Add Anchor:=Selection, Address:= _
      temp, TextToDisplay:=temp
      Range("J5").Select
      Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True

      Може, це можна було б зробити і простіше, але я не є гуру в VBA:-), тож написав, як зміг. Працює…

  • [...] я вже писав про те, як за допомогою валідації даних організувати [...]

 

Лишити коментар

XHTML: Ви можете використати наступні HTML-теги <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

 Допомогти блогу та заохотити автора:

BTC: 13kN2tJubi9J1UHUxVJBu9NgjxsmGBccAa

XMR: 44z7DhWqm2eAny1EaC5ny5U3yspQA2wgPGnatvsto9WHeWas6wTpfBZK4kuxnhbxToKouJTYXoMtcVT5Td2hxiQVFEWgMez

KRB: KbbpHAZ41RFBf5ErK7VzpuNQJfZaMcfYoNhLQCHW95cfWWUZedaLFkb92yejTCS9JvJb1PckeZuWfHapya4qL3bZ7kPSEVL