Excel форма для заказа

Бланк заказа в Excel — для чего?

Бланки заказа в Excel, содержащие сложные расчеты требуются предприятиям, производящим или реализующим сложные изделия. Например, мебель, изделия из камня, изделия из дерева, технику, оказывающие услуги по строительству домов и так далее. Ссылки на скачивание таких бланков в формате Excel размещают на сайте компании, для того, чтобы клиент мог скачать бланк из браузера.

Бланк заказа сложного изделия предполагает наличие многих условий. Часть этих условий могут быть выполнены одновременно, другие условия исключают друг друга. Так, например, в бланке заказа клиент не должен выбрать одновременно несколько видов мебельных фасадов. Другой пример — бланк заказа не позволит выбрать размер изделия меньше или больше технологически возможных.

Пример таблицы ограничений для бланка в Excel:

Таблица размеров фасадов для бланка заказов

Размеры, которые невозможны по технологии производства, будут недоступны в бланке заказа. Таким же образом можно ограничить значения, вносимые во все поля бланка заказа в Excel. Например, поле «цвет» можно ограничить списком возможных цветов, поле «тип покрытия» — списком возможных материалов и так далее.

В бланк заказа в Excel вносятся поля для заполнения заказчиком: наименование организации, контактные данные, тип заказа, дата заказа и так далее. В бланке заказа также обычно присутствуют реквизиты организации-исполнителя: логотип, адрес сайта, контактные данные. Дополнительно к ячейкам бланка можно добавить примечания с пояснениями для заказчика.

В бланке заказа в Excel также присутствует таблица для расчета различных параметров заказа: размеров изделия, количества расходных материалов, стоимости изготовления заказа.

Количество, расположение, ограничения для значений, вносимых заказчиком в бланк заказа, в Excel зависят от требований, предъявляемых при производстве изделия. Для расчетов стоимости, количества требуемых материалов и т.д. используются формулы, включающие в себя несколько уровней условий. Например, нельзя рассчитать стоимость заказа, если некорректно внесены данные в какую-то ячейку бланка заказа. В расчетах параметров заказа возможно применение любых ограничений: текстовых, числовых, цветовых, формульных.

Бланки заказа со сложными расчетами трудно реализовать прямо в браузере. Поэтому для создания таких бланков со многими условиями используют MS Excel. Пользоваться таким бланком смогут также клиенты, у которых установлен OpenOffice.

Образец бланка заказа в Excel содержит в себе примеры использования условий и ограничений, необходимых для производства заказа. При несовместимости условий, выбранных заказчиком, справа от бланка заказа появляется предупреждающая надпись.

Листы бланка заказа в Excel защищены от несанкционированных изменений, поэтому заказчик не сможет произвольно менять поля бланка. Распечатывается бланк заказа на одном листе:

Бланк заказа образец

Заказать индивидуальный бланк в Excel для своего предприятия Вы можете здесь.

Обратная связь vExcele.ru


Содержание

  • Применение инструментов заполнения
    • Способ 1: встроенный объект для ввода данных Excel
    • Способ 2: создание пользовательской формы
  • Вопросы и ответы

Форма в Microsoft Excel

Для облегчения ввода данных в таблицу в Excel можно воспользоваться специальными формами, которые помогут ускорить процесс заполнения табличного диапазона информацией. В Экселе имеется встроенный инструмент позволяющий производить заполнение подобным методом. Также пользователь может создать собственный вариант формы, которая будет максимально адаптирована под его потребности, применив для этого макрос. Давайте рассмотрим различные варианты использования этих полезных инструментов заполнения в Excel.

Применение инструментов заполнения

Форма заполнения представляет собой объект с полями, наименования которых соответствуют названиям колонок столбцов заполняемой таблицы. В эти поля нужно вводить данные и они тут же будут добавляться новой строкой в табличный диапазон. Форма может выступать как в виде отдельного встроенного инструмента Excel, так и располагаться непосредственно на листе в виде его диапазона, если она создана самим пользователем.

Теперь давайте рассмотрим, как пользоваться этими двумя видами инструментов.

Способ 1: встроенный объект для ввода данных Excel

Прежде всего, давайте узнаем, как применять встроенную форму для ввода данных Excel.

  1. Нужно отметить, что по умолчанию значок, который её запускает, скрыт и его нужно активировать. Для этого переходим во вкладку «Файл», а затем щелкаем по пункту «Параметры».
  2. Переход в параметры в Microsoft Excel

  3. В открывшемся окне параметров Эксель перемещаемся в раздел «Панель быстрого доступа». Большую часть окна занимает обширная область настроек. В левой её части находятся инструменты, которые могут быть добавлены на панель быстрого доступа, а в правой – уже присутствующие.

    В поле «Выбрать команды из» устанавливаем значение «Команды не на ленте». Далее из списка команд, расположенного в алфавитном порядке, находим и выделяем позицию «Форма…». Затем жмем на кнопку «Добавить».

  4. Добавление инструмента форма на панель быстрого доступа в Microsoft Excel

  5. После этого нужный нам инструмент отобразится в правой части окна. Жмем на кнопку «OK».
  6. Инструмент форма добавлен на панель быстрого доступа в Microsoft Excel

  7. Теперь данный инструмент располагается в окне Excel на панели быстрого доступа, и мы им можем воспользоваться. Он будет присутствовать при открытии любой книги данным экземпляром Excel.
  8. Инструмент форма отображается на панеле быстрого доступа в Microsoft Excel

  9. Теперь, чтобы инструмент понял, что именно ему нужно заполнять, следует оформить шапку таблицы и записать любое значение в ней. Пусть табличный массив у нас будет состоять из четырех столбцов, которые имеют названия «Наименование товара», «Количество», «Цена» и «Сумма». Вводим данные названия в произвольный горизонтальный диапазон листа.
  10. Шапка таблицы в Microsoft Excel

  11. Также, чтобы программа поняла, с каким именно диапазонам ей нужно будет работать, следует ввести любое значение в первую строку табличного массива.
  12. первое значение в таблице в Microsoft Excel

  13. После этого выделяем любую ячейку заготовки таблицы и щелкаем на панели быстрого доступа по значку «Форма…», который мы ранее активировали.
  14. Запуск формы в Microsoft Excel

  15. Итак, открывается окно указанного инструмента. Как видим, данный объект имеет поля, которые соответствуют названиям столбцов нашего табличного массива. При этом первое поле уже заполнено значением, так как мы его ввели вручную на листе.
  16. Форма открыта в Microsoft Excel

  17. Вводим значения, которые считаем нужными и в остальные поля, после чего жмем на кнопку «Добавить».
  18. Ввод значений в форму в Microsoft Excel

  19. После этого, как видим, в первую строку таблицы были автоматически перенесены введенные значения, а в форме произошел переход к следующему блоку полей, который соответствуют второй строке табличного массива.
  20. Значения перенесы в таблицу в Microsoft Excel

    Lumpics.ru

  21. Заполняем окно инструмента теми значениями, которые хотим видеть во второй строке табличной области, и снова щелкаем по кнопке «Добавить».
  22. Добавление второй строки в таблицу через форму в Microsoft Excel

  23. Как видим, значения второй строчки тоже были добавлены, причем нам даже не пришлось переставлять курсор в самой таблице.
  24. Вторая строка заполнена в таблице в Microsoft Excel

  25. Таким образом, заполняем табличный массив всеми значениями, которые хотим в неё ввести.
  26. Все значения в таблицу введены в Microsoft Excel

  27. Кроме того, при желании, можно производить навигацию по ранее введенным значениям с помощью кнопок «Назад» и «Далее» или вертикальной полосы прокрутки.
  28. Навигация по форме в Microsoft Excel

  29. При необходимости можно откорректировать любое значение в табличном массиве, изменив его в форме. Чтобы изменения отобразились на листе, после внесения их в соответствующий блок инструмента, жмем на кнопку «Добавить».
  30. Корректировка данных в форме в Microsoft Excel

  31. Как видим, изменение сразу произошло и в табличной области.
  32. Изменение произведено в таблице в Microsoft Excel

  33. Если нам нужно удалить, какую-то строчку, то через кнопки навигации или полосу прокрутки переходим к соответствующему ей блоку полей в форме. После этого щелкаем по кнопке «Удалить» в окошке инструмента.
  34. Удаление строки через форму в Microsoft Excel

  35. Открывается диалоговое окно предупреждения, в котором сообщается, что строка будет удалена. Если вы уверены в своих действиях, то жмите на кнопку «OK».
  36. Подтверждение удаления строки в Microsoft Excel

  37. Как видим, строчка была извлечена из табличного диапазона. После того, как заполнение и редактирование закончено, можно выходить из окна инструмента, нажав на кнопку «Закрыть».
  38. Закрытие формы в Microsoft Excel

  39. После этого для предания табличному массиву более наглядного визуального вида можно произвести форматирование.

Таблица отформатированв в Microsoft Excel

Способ 2: создание пользовательской формы

Кроме того, с помощью макроса и ряда других инструментов существует возможность создать собственную пользовательскую форму для заполнения табличной области. Она будет создаваться прямо на листе, и представлять собой её диапазон. С помощью данного инструмента пользователь сам сможет реализовать те возможности, которые считает нужными. По функционалу он практически ни в чем не будет уступать встроенному аналогу Excel, а кое в чем, возможно, превосходить его. Единственный недостаток состоит в том, что для каждого табличного массива придется составлять отдельную форму, а не применять один и тот же шаблон, как это возможно при использовании стандартного варианта.

  1. Как и в предыдущем способе, прежде всего, нужно составить шапку будущей таблицы на листе. Она будет состоять из пяти ячеек с именами: «№ п/п», «Наименование товара», «Количество», «Цена», «Сумма».
  2. Шапка таблицы создана в Microsoft Excel

  3. Далее нужно из нашего табличного массива сделать так называемую «умную» таблицу, с возможностью автоматического добавления строчек при заполнении соседних диапазонов или ячеек данными. Для этого выделяем шапку и, находясь во вкладке «Главная», жмем на кнопку «Форматировать как таблицу» в блоке инструментов «Стили». После этого открывается список доступных вариантов стилей. На функционал выбор одного из них никак не повлияет, поэтому выбираем просто тот вариант, который считаем более подходящим.
  4. Создание умной таблицы в Microsoft Excel

  5. Затем открывается небольшое окошко форматирования таблицы. В нем указан диапазон, который мы ранее выделили, то есть, диапазон шапки. Как правило, в данном поле заполнено все верно. Но нам следует установить галочку около параметра «Таблица с заголовками». После этого жмем на кнопку «OK».
  6. Окошко форматирования таблицы в Microsoft Excel

  7. Итак, наш диапазон отформатирован, как «умная» таблица, свидетельством чему является даже изменение визуального отображения. Как видим, помимо прочего, около каждого названия заголовка столбцов появились значки фильтрации. Их следует отключить. Для этого выделяем любую ячейку «умной» таблицы и переходим во вкладку «Данные». Там на ленте в блоке инструментов «Сортировка и фильтр» щелкаем по значку «Фильтр».
    Отключение фильтра через вкладку Данные в Microsoft Excel

    Существует ещё один вариант отключения фильтра. При этом не нужно даже будет переходить на другую вкладку, оставаясь во вкладке «Главная». После выделения ячейки табличной области на ленте в блоке настроек «Редактирование» щелкаем по значку «Сортировка и фильтр». В появившемся списке выбираем позицию «Фильтр».

  8. Отключение фильтра через вкладку Главная в Microsoft Excel

  9. Как видим, после этого действия значки фильтрации исчезли из шапки таблицы, как это и требовалось.
  10. Фильтр снят в Microsoft Excel

  11. Затем нам следует создать саму форму ввода данных. Она тоже будет представлять собой своего рода табличный массив, состоящий из двух столбцов. Наименования строк данного объекта будут соответствовать именам столбцов основной таблицы. Исключение составляют столбцы «№ п/п» и «Сумма». Они будут отсутствовать. Нумерация первого из них будет происходить при помощи макроса, а расчет значений во втором будет производиться путем применения формулы умножения количества на цену.

    Второй столбец объекта ввода данных оставим пока что пустым. Непосредственно в него позже будут вводиться значения для заполнения строк основного табличного диапазона.

  12. Форма ввода данных на листе в Microsoft Excel

  13. После этого создаем ещё одну небольшую таблицу. Она будет состоять из одного столбца и в ней разместится список товаров, которые мы будем выводить во вторую колонку основной таблицы. Для наглядности ячейку с заголовком данного перечня («Список товаров») можно залить цветом.
  14. Таблица со списком товаров в Microsoft Excel

  15. Затем выделяем первую пустую ячейку объекта ввода значений. Переходим во вкладку «Данные». Щелкаем по значку «Проверка данных», который размещен на ленте в блоке инструментов «Работа с данными».
  16. Переход к проверке данных в Microsoft Excel

  17. Запускается окно проверки вводимых данных. Кликаем по полю «Тип данных», в котором по умолчанию установлен параметр «Любое значение».
  18. Окно проверки вводимых значений в Microsoft Excel

  19. Из раскрывшихся вариантов выбираем позицию «Список».
  20. Выбор списка в окне проверки вводимых значений в Microsoft Excel

  21. Как видим, после этого окно проверки вводимых значений несколько изменило свою конфигурацию. Появилось дополнительное поле «Источник». Щелкаем по пиктограмме справа от него левой клавишей мыши.
  22. Переход к выбору источника в окне проверки вводимых значений в Microsoft Excel

  23. Затем окно проверки вводимых значений сворачивается. Выделяем курсором с зажатой левой клавишей мыши перечень данных, которые размещены на листе в дополнительной табличной области «Список товаров». После этого опять жмем на пиктограмму справа от поля, в котором появился адрес выделенного диапазона.
  24. Адрес диапазона внесен в поле в Microsoft Excel

  25. Происходит возврат к окошку проверки вводимых значений. Как видим, координаты выделенного диапазона в нем уже отображены в поле «Источник». Кликаем по кнопке «OK» внизу окна.
  26. Закрытие окна проверки вводимых значений в Microsoft Excel

  27. Теперь справа от выделенной пустой ячейки объекта ввода данных появилась пиктограмма в виде треугольника. При клике на неё открывается выпадающий список, состоящий из названий, которые подтягиваются из табличного массива «Список товаров». Произвольные данные в указанную ячейку теперь внести невозможно, а только можно выбрать из представленного списка нужную позицию. Выбираем пункт в выпадающем списке.
  28. Список со значениями в Microsoft Excel

  29. Как видим, выбранная позиция тут же отобразилась в поле «Наименование товара».
  30. Выбранная позиция отобразилась в ячейке в Microsoft Excel

  31. Далее нам нужно будет присвоить имена тем трем ячейкам формы ввода, куда мы будем вводить данные. Выделяем первую ячейку, где уже установлено в нашем случае наименование «Картофель». Далее переходим в поле наименования диапазонов. Оно расположено в левой части окна Excel на том же уровне, что и строка формул. Вводим туда произвольное название. Это может быть любое наименование на латинице, в котором нет пробелов, но лучше все-таки использовать названия близкие к решаемым данным элементом задачам. Поэтому первую ячейку, в которой содержится название товара, назовем «Name». Пишем данное наименование в поле и жмем на клавишу Enter на клавиатуре.
  32. Наименование первой ячейки в Microsoft Excel

  33. Точно таким же образом присваиваем ячейке, в которую будем вводить количество товара, имя «Volum».
  34. Наименование второй ячейки в Microsoft Excel

  35. А ячейке с ценой – «Price».
  36. Наименование третьей ячейки в Microsoft Excel

  37. После этого точно таким же образом даем название всему диапазону из вышеуказанных трех ячеек. Прежде всего, выделим, а потом дадим ему наименование в специальном поле. Пусть это будет имя «Diapason».
  38. присвоение наименования диапазону в Microsoft Excel

  39. После последнего действия обязательно сохраняем документ, чтобы названия, которые мы присвоили, смог воспринимать макрос, созданный нами в дальнейшем. Для сохранения переходим во вкладку «Файл» и кликаем по пункту «Сохранить как…».
  40. Сохранение книги в Microsoft Excel

  41. В открывшемся окне сохранения в поле «Тип файлов» выбираем значение «Книга Excel с поддержкой макросов (.xlsm)». Далее жмем на кнопку «Сохранить».
  42. Окно сохранения файла в Microsoft Excel

  43. Затем вам следует активировать работу макросов в своей версии Excel и включить вкладку «Разработчик», если вы это до сих пор не сделали. Дело в том, что обе эти функции по умолчанию в программе отключены, и их активацию нужно выполнять принудительно в окне параметров Excel.
  44. После того, как вы сделали это, переходим во вкладку «Разработчик». Кликаем по большому значку «Visual Basic», который расположен на ленте в блоке инструментов «Код».
  45. Переход в редактор макросов в Microsoft Excel

  46. Последнее действие приводит к тому, что запускается редактор макросов VBA. В области «Project», которая расположена в верхней левой части окна, выделяем имя того листа, где располагаются наши таблицы. В данном случае это «Лист 1».
  47. Редактор макросов в Microsoft Excel

  48. После этого переходим к левой нижней области окна под названием «Properties». Тут расположены настройки выделенного листа. В поле «(Name)» следует заменить кириллическое наименование («Лист1») на название, написанное на латинице. Название можно дать любое, которое вам будет удобнее, главное, чтобы в нем были исключительно символы латиницы или цифры и отсутствовали другие знаки или пробелы. Именно с этим именем будет работать макрос. Пусть в нашем случае данным названием будет «Producty», хотя вы можете выбрать и любое другое, соответствующее условиям, которые были описаны выше.

    В поле «Name» тоже можно заменить название на более удобное. Но это не обязательно. При этом допускается использование пробелов, кириллицы и любых других знаков. В отличие от предыдущего параметра, который задает наименование листа для программы, данный параметр присваивает название листу, видимое пользователю на панели ярлыков.

    Как видим, после этого автоматически изменится и наименование Листа 1 в области «Project», на то, которое мы только что задали в настройках.

  49. Изменение наименования листа в редакторе макросов в Microsoft Excel

  50. Затем переходим в центральную область окна. Именно тут нам нужно будет записать сам код макроса. Если поле редактора кода белого цвета в указанной области не отображается, как в нашем случае, то жмем на функциональную клавишу F7 и оно появится.
  51. Поле в редкторе макросов отобразилось в Microsoft Excel

  52. Теперь для конкретно нашего примера нужно записать в поле следующий код:


    Sub DataEntryForm()
    Dim nextRow As Long
    nextRow = Producty.Cells(Producty.Rows.Count, 2).End(xlUp).Offset(1, 0).Row
    With Producty
    If .Range("A2").Value = "" And .Range("B2").Value = "" Then
    nextRow = nextRow - 1
    End If
    Producty.Range("Name").Copy
    .Cells(nextRow, 2).PasteSpecial Paste:=xlPasteValues
    .Cells(nextRow, 3).Value = Producty.Range("Volum").Value
    .Cells(nextRow, 4).Value = Producty.Range("Price").Value
    .Cells(nextRow, 5).Value = Producty.Range("Volum").Value * Producty.Range("Price").Value
    .Range("A2").Formula = "=IF(ISBLANK(B2), """", COUNTA($B$2:B2))"
    If nextRow > 2 Then
    Range("A2").Select
    Selection.AutoFill Destination:=Range("A2:A" & nextRow)
    Range("A2:A" & nextRow).Select
    End If
    .Range("Diapason").ClearContents
    End With
    End Sub

    Но этот код не универсальный, то есть, он в неизменном виде подходит только для нашего случая. Если вы хотите его приспособить под свои потребности, то его следует соответственно модифицировать. Чтобы вы смогли сделать это самостоятельно, давайте разберем, из чего данный код состоит, что в нем следует заменить, а что менять не нужно.

    Итак, первая строка:

    Sub DataEntryForm()

    «DataEntryForm» — это название самого макроса. Вы можете оставить его как есть, а можете заменить на любое другое, которое соответствует общим правилам создания наименований макросов (отсутствие пробелов, использование только букв латинского алфавита и т.д.). Изменение наименования ни на что не повлияет.

    Везде, где встречается в коде слово «Producty» вы должны его заменить на то наименование, которое ранее присвоили для своего листа в поле «(Name)» области «Properties» редактора макросов. Естественно, это нужно делать только в том случае, если вы назвали лист по-другому.

    Наименование для листа в Microsoft Excel

    Теперь рассмотрим такую строку:

    nextRow = Producty.Cells(Producty.Rows.Count, 2).End(xlUp).Offset(1, 0).Row

    Цифра «2» в данной строчке означает второй столбец листа. Именно в этом столбце находится колонка «Наименование товара». По ней мы будем считать количество рядов. Поэтому, если в вашем случае аналогичный столбец имеет другой порядок по счету, то нужно ввести соответствующее число. Значение «End(xlUp).Offset(1, 0).Row» в любом случае оставляем без изменений.

    Второй столбец таблицы в Microsoft Excel

    Далее рассмотрим строку

    If .Range("A2").Value = "" And .Range("B2").Value = "" Then

    «A2» — это координаты первой ячейки, в которой будет выводиться нумерация строк. «B2» — это координаты первой ячейки, по которой будет производиться вывод данных («Наименование товара»). Если они у вас отличаются, то введите вместо этих координат свои данные.

    Две первые ячейки таблицы с данными в Microsoft Excel

    Переходим к строке

    Producty.Range("Name").Copy

    В ней параметр «Name» означат имя, которое мы присвоили полю «Наименование товара» в форме ввода.

    Имя поля наименования товара в форме ввода в Microsoft Excel

    В строках


    .Cells(nextRow, 2).PasteSpecial Paste:=xlPasteValues
    .Cells(nextRow, 3).Value = Producty.Range("Volum").Value
    .Cells(nextRow, 4).Value = Producty.Range("Price").Value
    .Cells(nextRow, 5).Value = Producty.Range("Volum").Value * Producty.Range("Price").Value

    наименования «Volum» и «Price» означают названия, которые мы присвоили полям «Количество» и «Цена» в той же форме ввода.

    Наименование полей количество и цена в Microsoft Excel

    В этих же строках, которые мы указали выше, цифры «2», «3», «4», «5» означают номера столбцов на листе Excel, соответствующих колонкам «Наименование товара», «Количество», «Цена» и «Сумма». Поэтому, если в вашем случае таблица сдвинута, то нужно указать соответствующие номера столбцов. Если столбцов больше, то по аналогии нужно добавить её строки в код, если меньше – то убрать лишние.

    Колонки в таблице в Microsoft Excel

    В строке производится умножение количества товара на его цену:

    .Cells(nextRow, 5).Value = Producty.Range("Volum").Value * Producty.Range("Price").Value

    Результат, как видим из синтаксиса записи, будет выводиться в пятый столбец листа Excel.

    Колонка для вывода суммы в Microsoft Excel

    В этом выражении выполняется автоматическая нумерация строк:


    If nextRow > 2 Then
    Range("A2").Select
    Selection.AutoFill Destination:=Range("A2:A" & nextRow)
    Range("A2:A" & nextRow).Select
    End If

    Все значения «A2» означают адрес первой ячейки, где будет производиться нумерация, а координаты « — адрес всего столбца с нумерацией. Проверьте, где именно будет выводиться нумерация в вашей таблице и измените данные координаты в коде, если это необходимо.

    Столбец с нумерацией в Microsoft Excel

    В строке производится очистка диапазона формы ввода данных после того, как информация из неё была перенесена в таблицу:

    .Range("Diapason").ClearContents

    Не трудно догадаться, что («Diapason») означает наименование того диапазона, который мы ранее присвоили полям для ввода данных. Если вы дали им другое наименование, то в этой строке должно быть вставлено именно оно.

    Наименование полей для ввода данных в Microsoft Excel

    Дальнейшая часть кода универсальна и во всех случаях будет вноситься без изменений.

    После того, как вы записали код макроса в окно редактора, следует нажать на значок сохранения в виде дискеты в левой части окна. Затем можно его закрывать, щелкнув по стандартной кнопке закрытия окон в правом верхнем углу.

  53. Код в редакторе макросов в Microsoft Excel

  54. После этого возвращаемся на лист Excel. Теперь нам следует разместить кнопку, которая будет активировать созданный макрос. Для этого переходим во вкладку «Разработчик». В блоке настроек «Элементы управления» на ленте кликаем по кнопке «Вставить». Открывается перечень инструментов. В группе инструментов «Элементы управления формы» выбираем самый первый – «Кнопка».
  55. Выбор элемента управления в Microsoft Excel

  56. Затем с зажатой левой клавишей мыши обводим курсором область, где хотим разместить кнопку запуска макроса, который будет производить перенос данных из формы в таблицу.
  57. Указание границ кнопки в Microsoft Excel

  58. После того, как область обведена, отпускаем клавишу мыши. Затем автоматически запускается окно назначения макроса объекту. Если в вашей книге применяется несколько макросов, то выбираем из списка название того, который мы выше создавали. У нас он называется «DataEntryForm». Но в данном случае макрос один, поэтому просто выбираем его и жмем на кнопку «OK» внизу окна.
  59. Окно назначения макроса объекту в Microsoft Excel

  60. После этого можно переименовать кнопку, как вы захотите, просто выделив её текущее название.
    Переименовывание кнопки в Microsoft Excel

    В нашем случае, например, логично будет дать ей имя «Добавить». Переименовываем и кликаем мышкой по любой свободной ячейке листа.

  61. Кнопка переименована в Microsoft Excel

  62. Итак, наша форма полностью готова. Проверим, как она работает. Вводим в её поля необходимые значения и жмем на кнопку «Добавить».
  63. Ввод данных в форму в Microsoft Excel

  64. Как видим, значения перемещены в таблицу, строке автоматически присвоен номер, сумма посчитана, поля формы очищены.
  65. Значения первой строки внесены в таблицу в Microsoft Excel

  66. Повторно заполняем форму и жмем на кнопку «Добавить».
  67. Повторный ввод данных в форму в Microsoft Excel

  68. Как видим, и вторая строка также добавлена в табличный массив. Это означает, что инструмент работает.

Вторая строка добавлена в таблицу в Microsoft Excel

Читайте также:
Как создать макрос в Excel
Как создать кнопку в Excel

В Экселе существует два способа применения формы заполнения данными: встроенная и пользовательская. Применение встроенного варианта требует минимум усилий от пользователя. Его всегда можно запустить, добавив соответствующий значок на панель быстрого доступа. Пользовательскую форму нужно создавать самому, но если вы хорошо разбираетесь в коде VBA, то сможете сделать этот инструмент максимально гибким и подходящим под ваши нужды.

Generic Purchase Order Template — Excel

Purchase Order Template

Download Generic Purchase Order Template

Excel | Smartsheet

This template includes customer and purchase order numbers for tracking, vendor details, shipping information, and an itemized list of goods. Enter an identification number, quantity, and cost for each item being ordered, and the template will calculate subtotals and the grand total cost, including tax and shipping charges. There is also room to add comments or instructions, and you can attach lengthier terms and conditions as needed.

Purchase Order with Price List — Google Sheets

Google Purchase Order with Price List

Download Purchase Order with Price List — Google Sheets

This purchase order template also doubles as a price list, so you can compile a list of commonly ordered items to expedite the purchasing process. Create separate price lists for multiple vendors, and update them regularly to ensure accuracy. You can save this Google Sheets template to your Google Drive account, and print it as a PDF file.

Blanket Purchase Order Template

Blanket Purchase Order Template

Download Blanket Purchase Order Template

Excel | Word | PDF

A blanket order may be used when an agreement is made between a buyer and vendor for multiple deliveries over a set time period. Special pricing may be negotiated as part of the deal, and details about the order along with terms and conditions are included in this blanket purchase agreement. You can also add your own terms to this template, which provides spaces for order information and authorization signatures.

Purchase Order Form with Images

Purchase Order Form with Images

Download Purchase Order Form with Images

Excel | Word | PDF

In addition to item numbers and descriptions, this template allows you to include images. This feature may be particularly helpful when ordering similar parts or items, thereby supporting accuracy when ordering as well as when filling the order. This template is available as an Excel, Word or PDF file.

Blank Purchase Order Form

Blank Purchase Order Form with Templates

Download Blank Purchase Order Form

Excel | Word | PDF

Create a customized purchase order by editing and filling in the fields provided on this blank form. The template offers a simple layout with sections to add an order number, delivery instructions, unit prices, and quantities ordered. You can customize the template further by adding a company logo, terms and conditions, and any other details required by your business or the supplier.

Purchase Requisition Template

Purchase Requisition Template

Download Purchase Requisition Template

This purchase requisition template can be used to communicate with a purchasing department. Enter the items you need to order, vendor information, reason for the request, and billing info, and then submit the requisition to whoever is in charge of placing orders. They can then approve the request and create an official PO to order the items listed.

Purchase Order Tracking Template

Purchase Order Tracking Template

Download Purchase Order Tracking Template

Excel | Smartsheet

Track your outstanding orders with this simple spreadsheet template. You can keep track of purchase order numbers, vendor names, payment amounts, and delivery dates. Tracking purchase orders can help ensure that all orders have been paid in full and completed on time. Filter the spreadsheet to view individual suppliers, outstanding payments, or other info.

Purchase Order Checklist

Purchase Order Checklist Template

Download Purchase Order Checklist

Excel | Word | PDF

Vendors can provide customers with this checklist template as a guide for creating and submitting purchase orders. List any elements that will provide customers with a clear understanding of the PO requirements. This can save time, simplify the process, and help you reach an agreement quickly.

Теперь, после того как мы познакомились с простыми конструкциями доступа из процедур VBA к ячейкам листа Microsoft Excel, пора перейти к более сложной задаче. Будем считать, что нам необходимо разработать удобный бланк заказа при обслуживании покупателей в компьютерном салоне. Наша задача — обеспечить удобный подбор необходимой покупки из возможных вариантов по информации, присутствующей в прайс-листе.

Будем считать, что комплектация состоит максимум из 3 компонентов: ноутбука, сумки к нему и модема. При этом различных моделей ноутбуков, сумок и модемов достаточно много, и эта номенклатура отражается на втором листе книги. Такой лист с названием Прайс представлен на рис. 2.1. Понятно, что строк в прайс-листе может быть достаточно много, и при подборе заказа не очень удобно его постоянно прокручивать.

Наша задача далее заключается в разработке удобного электронного бланка. Заметим только, что в разрабатываемой книге Microsoft Excel предполагается, что прайс лист должен находиться на втором рабочем листе в последовательности листов (в дальнейшем программном коде используется номер листа в качестве параметра семейства Worksheets). На рис. 2.1 видно, что первая строка прайс-листа представляет собой совокупность заголовков, а сами данные располагаются со второй строки. В столбцах А и В содержится описание модели ноутбука и его цена соответственно. Следующие два столбца — название модели сумки с ценой, а затем модем, также с ценой.

Рис. 2.1. Содержание листа Прайс

Рис. 2.1. Содержание листа Прайс

Мы попробуем на первом рабочем листе создать удобный для пользователя электронный бланк заказа, который будет использовать информацию из прайс-листа.

Интерфейс первого листа, который нам необходимо разработать, показан на рис. 2.2. Разберем технические действия для его создания. Во-первых, необходимо расширить столбцы А, В и С, а затем в ячейку В2 ввести текст «Бланк заказа» и отформатировать его соответствующим образом. После этого разместим в ячейке В3 другой текст — «Заказ №». Рядом с этим текстом на листе расположим элемент управления «Поле» (или как мы раньше его называли — текстовое окно) для набора с клавиатуры номера заказа. Для свойства Name этого элемента выберем значение Nomer, добавим серый фон окна (с помощью свойства BackColor), а для свойства AutoSize установим в качестве значения True. В этом случае ширина текстового окна будет автоматически изменяться при вводе символов.

Теперь следует заполнить текстом (см. рис. 2.2) содержимое ячеек В5, С5, А7, А8, А9, В11 и выполнить соответствующее форматирование. После этого уберем с экрана сетку, а для прямоугольного диапазона А5-С14 установим внешние границы. Кроме этого, можно также установить заливку для диапазона А5-С14 (это выполняется с помощью несложных технических действий в Microsoft Excel).

Теперь следует разместить три элемента управления типа «Поле со списком» — с ними мы уже работали в первой главе. Для того чтобы не было противоречий с программным кодом, имена этих элементов выберем (сверху вниз по рис. 2.2) Spk1, Spk2 и Spk3 соответственно. Таким образом, мы создали интерфейс для нашей разработки. Далее наступает этап программирования созданных элементов, поэтому перейдем в редактор Visual Basic для написания программного кода.

Рис. 2.2. Лист книги с электронным бланком

Рис. 2.2. Лист книги с электронным бланком

Первая наша задача заключается в том, чтобы при открытии книги созданные три поля со списком на первом листе автоматически заполнялись информацией из прайс-листа. Из первой части цикла статей мы уже знаем, что при открытии книги автоматически выполняется предопределенная процедура Workbook_Open(). Для того чтобы перейти к написанию этой процедуры, следует в редакторе Visual Basic открыть меню View и выбрать раздел Project Explorer и в появившемся на экране окне дважды щелкнуть на пиктограмме с названием ЭтаКнига. Таким образом, мы получим доступ к методам объекта Workbook.

В соответствии с листингом 2.1 оформим процедуру Workbook_Open(), которая обеспечивает заполнение элементов управления «Поле со списком» моделями ноутбуков, сумок и модемов.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
' Листинг 2.1. Процедура, выполняемая при открытии книги
Private Sub Workbook_Open()
' Очистка первого поля со списком
Worksheets(1).Spk1.Clear
' Подсчет в переменной N количества вариантов ноутбуков по прайсу
N = 0
While Worksheets(2).Cells(N + 2, 1).Value <> ""
    N = N + 1
Wend
' Заполнение первого списка
For i = 2 To N + 2
    Worksheets(1).Spk1.AddItem Worksheets(2).Cells(i, 1).Value
Next
' Очистка второго поля со списком
Worksheets(1).Spk2.Clear
' Подсчет в переменной N количества моделей сумок
N = 0
    While Worksheets(2).Cells(N + 2, 3).Value <> ""
N = N + 1
Wend
' Заполнение второго списка
For i = 2 To N + 2
    Worksheets(1).Spk2.AddItem Worksheets(2).Cells(i, 3).Value
Next
' Очистка третьего списка на первом листе нашей книги
Worksheets(1).Spk3.Clear
' Подсчет в переменной N количества моделей модемов
N = 0
While Worksheets(2).Cells(N + 2, 5).Value <> ""
    N = N + 1
Wend
' Заполнение третьего списка
For i = 2 To N + 2
    Worksheets(1).Spk3.AddItem Worksheets(2).Cells(i, 5).Value
Next
’Установка начальных параметров
Worksheets(1).Spk1.ListIndex = -1
Worksheets(1).Spk2.ListIndex = -1
Worksheets(1).Spk3.ListIndex = -1
Worksheets(1).Nomer.Text = ""
Worksheets(1).Range("C7:C9").Value = ""
End Sub

Прокомментируем еще несколько программных конструкций этой процедуры.

Так, в записи While Worksheets (2).Cells (N + 2, 1) .Value <> "" извлекается содержимое ячейки первого столбца с информацией об очередной модели ноутбука со второго листа. Конструкция о обозначает «не равно», а «» — это две пары кавычек, между которыми ничего нет. В совокупности эта запись обозначает выполнение цикла, пока значение в очередной ячейке списка ноутбуков на втором листе не окажется пустым. Пустая ячейка — это индикатор того, что данных в этом столбце больше нет. Таким образом, чтобы избежать при заполнении списков потери информации, следует не допускать разрывов в данных на втором листе.

В процедуре листинга 2.1 после подсчета количества ноутбуков используется метод Addltem, который добавляет в элемент управления «Поле со списком» новый элемент (новую строку). Так, в конструкции Worksheets(1).Spk1.Addltem Worksheets(2).Cells(i, 1).Value через пробел записывается содержимое ячейки, которое включается в список Spk1 в качестве его очередного элемента. В данном случае это содержимое ячейки, расположенной на втором листе. Заполнение других списков производится аналогичным образом и различается только номерами столбцов. Таким образом, мы создали процедуру Workbook_Open(), которая обеспечивает заполнение списков данными со второго листа (из прайс-листа) при открытии книги. Теперь, для того чтобы все то, что мы создали, заработало, необходимо книгу сохранить, закрыть и заново ее открыть.

Видно, что списки заполнены, однако пока выбор в списках той или иной модели не приводит к заполнению информации о ее цене. Нашу разработку следует продолжить, поэтому мы заново вернемся в окно написания программного кода. Для автоматической подстановки цены модели необходимо написать процедуры, выполняемые при щелчках на элементах «Поле со списком». В листинге 2.2 приведена процедура, которая выполняется при щелчке на первом поле со списком (это список, включающий модели ноутбуков).

1
2
3
4
5
6
' Листинг 2.2. Обработка щелчка на поле 
' со списком, включающем модели ноутбуков
Private Sub Spk1_Click()
Range("C7").Value = _
    Worksheets(2).Cells(Spk1.ListIndex + 2, 2).Value
End Sub

В этой процедуре ячейка С7 заполняется ценой ноутбука из прайс-листа. Если посмотреть на бланк заказа, то именно ячейка С7 на этом листе отводится для цены ноутбука. Здесь Spk1.Listlndex — номер выделенного элемента в первом списке. Двойка добавляется к этому значению потому, что индексация элементов в поле со списком начинается с нуля, а данные о моделях ноутбуков на втором листе располагаются со второй строки. Здесь также учитывается, что цены ноутбуков указаны во втором столбце прайс-листа. Таким образом, в рассмотренной строке мы извлекаем информацию о цене ноутбука. Может возникнуть вопрос — почему в правой части программной строки мы указали номер листа (2), а в левой нет? Это связано с тем, что объект с именем Spk1, событие, связанное с которым мы обрабатываем, находится на первом листе, который рассматривается процедурой в качестве рабочего листа по умолчанию. Щелчки на двух других списках приводят к аналогичным действиям (к заполнению цен выбранных сумки и модема), и в листинге 2.3 приведены процедуры, реализующие этот эффект.

1
2
3
4
5
6
7
8
9
10
' Листинг 2.3. Процедуры выбора цен сумки и модема
Private Sub Spk2_Click()
Range("C8").Value = _
    Worksheets(2).Cells(Spk2.ListIndex + 2, 4).Value
End Sub
 
Private Sub Spk3_Click()
Range("C9").Value = _
    Worksheets(2).Cells(Spk3.ListIndex + 2, 6).Value
End Sub

В результате мы получили автоматизированное заполнение бланка заказа (выбор в списках названий позиций товаров и автоматическую подстановку цены). Для калькуляции суммы заказа осталось только в ячейку C11 поставить формулу для вычисления суммы: =СУММ(C7:C9). Заметим, что это обыкновенная формула в ячейке первого листа Microsoft Excel.

На рис. 2.3 показано заполнение бланка заказа выборкой товаров. Следующий этап автоматизации заключается в создании печатной формы этого бланка. Сначала разместим на первом листе кнопку Печать (см. рис. 2.3), а затем для нее напишем необходимую процедуру. Но в первую очередь мы должны на третьем листе книги создать печатную форму, которая будет автоматически заполняться по щелчку на кнопке. Первая задача на этом пути, как и прежде, чисто техническая — обеспечить форматирование третьего листа книги подобно тому, как это показано на рис. 2.4 (никаких элементов управления здесь нет). Форматирование листа: добавление фона к ячейкам, создание внешних и внутренних границ, подбор размера шрифта, выравнивание содержимого ячейки по горизонтали. Также здесь мы убрали отображение сетки. В дальнейшем в ячейку C2 будет подставляться номер заказа с первого листа (точнее, из соответствующего текстового окна), а содержимое таблицы также будет автоматически заполняться информацией о заказанных позициях и их ценах.

Рис. 2.3. Вариант заполнения электронного бланка

Рис. 2.3. Вариант заполнения электронного бланка

При желании на печатную форму можно добавить логотип организации и внести дополнительную текстовую информацию. В этом случае третий лист нашей книги станет больше похож на печатную форму документа. Фактически мы разработали заготовку, в которую по щелчку на кнопке Печать будет заноситься информация о текущем заказе с первого листа. Перейдем в режим конструктора и далее в редактор написания программного кода. Это выполняется, как мы знаем, двойным щелчком на кнопке Печать. В этом случае вы автоматически попадаете в процедуру, которая обрабатывает щелчок на рассматриваемой кнопке. В листинге 2.4 приводится текст этой процедуры.

Рис. 2.4. Печатная форма бланка

Рис. 2.4. Печатная форма бланка

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Private Sub Prn_Click()
' Очистка табличной части печатного бланка
Worksheets(3).Range("A10:C15").Value = ""
Nom = 1
' Внесение в печатную форму информации о ноутбуке
If Spk1.Text <> "" Then
Worksheets(3).Cells(9 + Nom, 1).Value = Nom
Worksheets(3).Cells(9 + Nom, 2).Value = _
Worksheets(1).Cells(7, 1).Value + "" + Spk1.Text
Worksheets(3).Cells(9 + Nom, 3).Value = _
Worksheets(2).Cells(Spk1.ListIndex + 2, 2).Value
Nom = Nom + 1
End If
' Внесение в печатную форму информации о сумке к ноутбуку
If Spk2.Text <> "" Then
Worksheets(3).Cells(Nom + 9, 1).Value = Nom
Worksheets(3).Cells(Nom + 9, 2).Value = _
Worksheets(1).Cells(8, 1).Value + "" + Spk2.Text
Worksheets(3).Cells(Nom + 9, 3).Value = _
Worksheets(2).Cells(Spk2.ListIndex + 2, 4).Value
Nom = Nom + 1
End If
' Внесение в печатную форму информации о модеме
If Spk3.Text <> "" Then
Worksheets(3).Cells(Nom + 9, 1).Value = Nom
Worksheets(3).Cells(Nom + 9, 2).Value = _
Worksheets(1).Cells(9, 1).Value + "" + Spk3.Text
Worksheets(3).Cells(Nom + 9, 3).Value = _
Worksheets(2).Cells(Spk3.ListIndex + 2, 6).Value
Nom = Nom + 1
End If
' Установка номера заказа
Worksheets(3).Range("C2").Value = Nomer.Text
Worksheets(3).Range("B15").Value = "uToro"
' Перенос итоговой суммы
Worksheets(3).Range("C15").Value = Range("C11").Value
Worksheets(3).Activate
End Sub

Теперь автоматизированная книга готова, и вы можете попробовать оформить с помощью созданной разработки несколько гипотетических заказов.

Бланк заказа по форме «ТОРГ-26», утвержденный постановлением Госкомстата, применяется для оформления предварительных заказов на указанную дату и время как с доставкой на конкретный адрес, так и без нее. Оговорив условия заказ с покупателем, сотрудник торговой компании оформляет данный документ в двух экземплярах.

Первый экземпляр сразу же передается отборщику для фактического подбора необходимых товаров, второй, с последующей отметкой об оплате, получает покупатель. Все сотрудники организации, ответственные за прием, подбор, комплектацию и непосредственное исполнение заказа, ставят на нем свои подписи.

Перечень данных, которые в обязательном порядке указываются на бланке заказа, следующий:

  • контактные данные, телефон и адрес покупателя;
  • информация о количестве и цене выбранных товаров;
  • дата и время исполнения заказа (здесь же назначается и ответственный отборщик);
  • сотрудник, принявший заказ (его имя, фамилия и должность, занимаемая в организации).

Довольно распространенным случаем является также проставление своей подписи на заказе упаковщиком, который также проверяет отобранный товар. Чтобы не допустить путаницы при заполнении, итоговая сумма всегда указывается внизу бланка, прописью и с большой буквы, а оставшееся свободное место заполняется прочерком.

После заполнения всех разделов формы и соответствующего заверения, бланк заказа приобретает юридическую силу и может быть применен в соответствии с действующими правилами и нормами. Сохранить форму заказа в формате Excel можно по указанной ниже ссылке.

Понравилась статья? Поделить с друзьями:
  • Excel форма для вывода данных
  • Excel форма для веб
  • Excel форма для ввода данных да нет
  • Excel форма ввода для ячейки
  • Excel форма 1 доп