Постановка задачі
Маємо базу даних (список, таблицю - називайте як хочете) з інформацією по платежах на аркуші Дані:
Завдання. швидко роздруковувати прибутково-касовий ордер (платіжку, рахунок-фактуру.) для будь-якої потрібної записи обраної з цього списку. Поїхали!
Крок 1. Створюємо бланк
На іншому аркуші книги (назвемо цей лист Бланк) створюємо порожній бланк. Можна самостійно, можна скористатися готовими бланками, взятими, наприклад, з сайтів журналу "Головний Бухгалтер" або сайту Microsoft. У мене вийшло приблизно так:
У порожні клітинки (Рахунок, Сума, Прийнято від і т.д.) будуть потрапляти дані з таблиці платежів з іншого листа - трохи пізніше ми цим займемося.
Крок 2. Підготовка таблиці платежів
Перш ніж брати дані з таблиці для нашого бланка, таблицю необхідно злегка модернізувати. А саме - вставити порожній стовпець зліва від таблиці. Ми будемо використовувати для введення мітки (нехай це буде англійська літера "ікс") навпроти тієї рядки, дані з якої ми хочемо додати в бланк:
Крок 3. Зв'язуємо таблицю і бланк
Для зв'язку використовуємо функцію ВПР (VLOOKUP) - докладніше про неї можна почитати тут. У нашому випадку для того, щоб вставити в осередок F9 на бланку номер поміченого "x" платежу з листа Дані треба ввести в клітинку F9 таку формулу:
Тобто в перекладі на "російський зрозумілий" функція повинна знайти в діапазоні A2: G16 на аркуші Дані рядок, що починається з символу "х" і видати нам вміст другого шпальти цього рядка, тобто номер платежу.
Аналогічним чином заповнюються всі інші осередки на бланку - у формулі змінюється тільки номер стовпчика.
Для виведення суми прописом я скористався функцією Propis з надбудови PLEX.
У результаті повинно вийти наступне:
Крок 4. Щоб не було двох "х".
Цей макрос не дає користувачеві ввести більше одного "х" в перший стовпець.
Ну, ось, власне і все! Користуйтеся!