Теперь для конкретно нашего примера нужно записать в поле следующий код:
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» редактора макросов. Естественно, это нужно делать только в том случае, если вы назвали лист по-другому.
Теперь рассмотрим такую строку:
nextRow = Producty.Cells(Producty.Rows.Count, 2).End(xlUp).Offset(1, 0).Row
Цифра «2» в данной строчке означает второй столбец листа. Именно в этом столбце находится колонка «Наименование товара». По ней мы будем считать количество рядов. Поэтому, если в вашем случае аналогичный столбец имеет другой порядок по счету, то нужно ввести соответствующее число. Значение «End(xlUp).Offset(1, 0).Row» в любом случае оставляем без изменений.
Далее рассмотрим строку
If .Range("A2").Value = "" And .Range("B2").Value = "" Then
«A2» — это координаты первой ячейки, в которой будет выводиться нумерация строк. «B2» — это координаты первой ячейки, по которой будет производиться вывод данных («Наименование товара»). Если они у вас отличаются, то введите вместо этих координат свои данные.
Переходим к строке
Producty.Range("Name").Copy
В ней параметр «Name» означат имя, которое мы присвоили полю «Наименование товара» в форме ввода.
В строках
.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» означают названия, которые мы присвоили полям «Количество» и «Цена» в той же форме ввода.
В этих же строках, которые мы указали выше, цифры «2», «3», «4», «5» означают номера столбцов на листе Excel, соответствующих колонкам «Наименование товара», «Количество», «Цена» и «Сумма». Поэтому, если в вашем случае таблица сдвинута, то нужно указать соответствующие номера столбцов. Если столбцов больше, то по аналогии нужно добавить её строки в код, если меньше – то убрать лишние.
В строке производится умножение количества товара на его цену:
.Cells(nextRow, 5).Value = Producty.Range("Volum").Value * Producty.Range("Price").Value
Результат, как видим из синтаксиса записи, будет выводиться в пятый столбец листа Excel.
В этом выражении выполняется автоматическая нумерация строк:
If nextRow > 2 Then
Range("A2").Select
Selection.AutoFill Destination:=Range("A2:A" & nextRow)
Range("A2:A" & nextRow).Select
End If
Все значения «A2» означают адрес первой ячейки, где будет производиться нумерация, а координаты «A» — адрес всего столбца с нумерацией. Проверьте, где именно будет выводиться нумерация в вашей таблице и измените данные координаты в коде, если это необходимо.
В строке производится очистка диапазона формы ввода данных после того, как информация из неё была перенесена в таблицу:
.Range("Diapason").ClearContents
Не трудно догадаться, что («Diapason») означает наименование того диапазона, который мы ранее присвоили полям для ввода данных. Если вы дали им другое наименование, то в этой строке должно быть вставлено именно оно.
Дальнейшая часть кода универсальна и во всех случаях будет вноситься без изменений.
После того, как вы записали код макроса в окно редактора, следует нажать на значок сохранения в виде дискеты в левой части окна. Затем можно его закрывать, щелкнув по стандартной кнопке закрытия окон в правом верхнем углу.
Ведение реестра документов в электронном виде в Excel позволит их систематизировать, обеспечит к ним быстрый доступ и исключит необходимость хранить каждый документ в отдельности. В любое время документ из реестра можно вывести на печатную форму, созданную на листе Excel. Ссылка для скачивания файла с примером внизу.
- Ведение реестра документов
- Создание печатной формы
- Заполнение печатной формы
Ведение реестра документов
Реестр документов удобно заполнять в «Умной таблице» Excel, если не предполагается использование объединенных ячеек.
Далее мы рассмотрим реестр с данными сотрудников, который может использоваться для хранения этих данных и распечатки различных документов. На практике это был реестр Трудовых договоров, из которого распечатывались: Трудовой договор, Приложение к трудовому договору, Договор о материальной ответственности, Приказ о приеме на работу, Изменения к трудовому договору, Соглашение о расторжении трудового договора.
В примере реестр значительно уменьшен, из печатных форм оставлен только Договор о материальной ответственности, чтобы показать сам принцип ведения реестра и заполнения данными печатной формы.
Пример реестра документов в «Умной таблице» Excel
Для заполнения реестра данными можно использовать автоформу, подробнее о которой можно прочитать в разделе Работа с «Умной таблицей».
Создание печатной формы
Чтобы заполнить печатную форму с помощью формул, она должна быть создана в Excel. Если не удалось найти нужный файл в Excel, его текст можно перенести из файла другой программы на рабочий лист, учитывая максимальное количество знаков, умещающееся в ячейке, иначе текст будет обрезан.
В нашем примере используется печатная форма Договора о материальной ответственности, текст которого скопирован на рабочий лист Excel из документа Word:
Договор о материальной ответственности
Если печатная форма на рабочем листе Excel готова, остается переместить (или скопировать) ее в книгу с реестром. Если реестр еще не создан, можно просто добавить новый лист в книгу с печатной формой и назвать его «Реестр…».
Заполнение печатной формы
Для заполнения печатной формы данными из реестра будем использовать встроенную функцию Excel — «ВПР». Ориентиром поиска по таблице будет номер записи в реестре по порядку, поэтому ячейку с номером договора укажем в формулах «ВПР» печатной формы как «Искомое_значение».
Аргументы функции «ВПР»
В мастере функций набраны аргументы для формулы в ячейке «L4», которая после ввода примет следующий вид: =ВПР('Печать ДМО'!G1;'Реестр ДМО'!A2:J102;2;ЛОЖЬ)
Во все остальные ячейки с переменными значениями копируется эта формула, и в ней заменяется только «Номер_столбца».
Теперь при записи в ячейку «G1» номера нужной строки реестра, печатная форма Договора о материальной ответственности заполнится данными соответствующего работника.
Вы можете скачать файл с примером ведения реестра в Excel и автоматического заполнения печатной формы Договора о материальной ответственности данными выбранного сотрудника.
Если вам приходилось работать с таблицами из множества колонок, да еще к концу рабочего дня и в условиях дефицита времени, то, наверняка, вы случайно вводили данные в ячейку не той строки, в лучшем случае спохватывались и исправляли ошибку сразу, в худшем — ошибка выплывала позже в самый неподходящий момент. Как защитить себя от подобных ситуаций? Есть очень удобное средство — формы. Их созданию и работе с ними посвящена эта статья.
Начнем с того, что не во всех версиях Excel сразу доступна волшебная кнопка Форма. В этом случае предварительно настройте Параметры (перейти к ним можно на вкладке Файл). Здесь вы также можете сразу не найти то, что нужно добавить на ленту. Поэтому сначала измените вариант в поле Выбрать команды (в данном случае нужен вариант Все команды). Чтобы добавить найденную в списке команду Форма, нужно выбрать имя вкладки, где разместится кнопка и создать новую группу. Теперь щелкните по кнопке Добавить и проверьте, появилась ли новая команда в новой группе.
После этих манипуляций на вкладке Данные появится группа Работа с формами (это название задаете вы, когда создаете группу при настройке параметров Excel), а в ней нужная вам кнопка.
Форму нельзя создать, если шапка таблицы занимает несколько строк — это минус.
Но здесь можно «схитрить»: вставьте после настоящей шапки пустую строку, оформите заголовки строк в одну строку, для этой строки после создания формы установите нулевую высоту (Формат — Размер ячеек —Высота строки —).
Осталось только щелкнуть на любой ячейке таблицы и на кнопке Форма. Готово, можно работать. Вы видите строку, относящуюся только к одному человеку, причем все названия граф в одной форме. Названия кнопок — настоящие подсказки для пользователя. Нужна новая строка — Добавить, не нужна существующая — Удалить, нужно перейти к какой-либо впереди — Далее, позади — Назад.
Единственной «неочевидной» является кнопка Критерии. Она позволяет включать фильтр, чтобы быстрее находить нужные строки, если их очень много. При задании критерия можно использовать такие знаки, как «*» и «?», критериев может быть несколько (но задать их нужно в пределах одного окна). Для отключения фильтра используйте кнопку Правка.
Выбор поля формы можно делать щелчком мыши или клавишей ТАВ. Добавлять новую строку в таблицу можно с помощью соответствующей кнопки или нажатием ENTER, когда заполнено последнее поле.
Конечно, использовать ли форму или работать с таблицей напрямую, решать вам. Но чтобы выбрать оптимальный способ работы, нужно попробовать разные варианты. Сведения о форме в Excel из этой статьи помогут вам это сделать.
Есть некий двухэтажный документ, для которого нужно создать печатную форму, в верхней части которой указаны некоторые реквизиты шапки документа, а в нижней части — содержимое подчинённого уровня (например, список номенклатуры).
1) Из Конфигуратора запускаем FabiusClient «в режиме отладки».
Открываем (как для обычного ввода документов) нужный тип документа и тут же — на уровне «шапок» — нажимаем иконку Печать:
2) В окне открывшегося списка печатных форм нажимаем на «Расширенный режим»:
Кнопки в голубых рамках относятся к уже созданным ранее формам, а кнопки в зелёных рамках — это создание новых форм.
С помощью «Мастера» можно построить «стандартный отчёт«.
Нажимаем на «Мастер» (Создать форму с помощью мастера) и заполняем «Имя» (группа Прочие) в нижней части карточки и, при необходимости, другие свойства новой печатной формы, в частности «Отдельный отчёт по отмеченным», «Признак отпечатанности», «Редактирование предпросмотра», шрифты, … .
Кнопка «Дальше» внизу.
Дальнейшие действия — на примере документа Списание Номенклатуры.
Наша задача — создать печатную форму, в которой
- в шапке будет наименование организации
а данные цена, количество, сумма, дата и номер документа
будут сгруппированы по получателям, а внутри них — по датам.
В следующем окне нам нужно пометить реквизиты, которые собираемся распечатывать:
- в СписаниеТМЦ (это шапки документов списания) нам нужны «получатель» ТМЦ, «дата» и «номер» документа — помечены красным на рисунке ниже;
- на уровне номенклатуры (это НоменклатураДокументаКоллекция) тоже помечаем нужные реквизиты — помечены зелёным:
Следующее окно «Формирование групп элементов отчёта» пропускаем кнопкой Дальше внизу.
В следующем окне — Шаблоны представления отчётов — помечаем единственный возможный вариант Табличное представление и кнопкой Дальше переходим на последнее окно, где нажимаем кнопку Финиш внизу.
Сформировать отчёт Да.
3) Открывается заготовка печатной формы, в которой в детальную полосу помещено наше «любое поле», выбранное выше.
Переходим на закладку Макет:
Кликаем мышкой на голубую метку детальной полосы Detail, становится активной кнопка Сброс. Ею удаляем автоматически созданную детальную полосу.
(Детальную полосу мы встроим позднее в свой шаблон.)
Выделяем цветом все автоматические созданные строки печатной формы и удаляем их. Получаем пустую Excel-таблицу.
4) Загружаем свой шаблон — самая первая кнопка закладки Макет на предыдущем рисунке.
Выделяем все значащие ячейки шаблона и на закладке Разметка страницы фиксируем область печати:
5) Привязываем реквизиты первичного документа (_ОсновнойИсточник), перетаскивая их из окна Список полей на шаблон.
В том числе — при необходимости — привязываем к шаблону и реквизиты будущей детальной полосы, заполняя её реквизитами подчинённого уровня (например, списка номенклатуры):
В любом порядке
— перетаскиваем реквизиты списка номенклатуры на шаблон в строку детальной полосы
— обозначаем местоположение детальной полосы (в нашем примере она есть):
выделяем ячейки, образующие детальную полосу, и на закладке макет нажимаем на кнопку Детальная полоса.
Если ошиблись в указании детальной полосы, кликаем на голубую метку Detail текущей детальной полосы и удаляем её, как на рисунке в пункте 3).
Обратите внимание — справа внизу на этом рисунке: в окне Уровни привязки нужно указать, что Детальная полоса «привязана» к подчинённому уровню нашего документа.
6) Выходим с сохранением своей печатной формы:
Если нажать на «Сохранить в Entity» (красный прямоугольник), изменения печатной формы будут отражены в общей конфигурации (которую потом сравниваем с эталонной):
- …FabiusNetExeOutServerSYSTEMPrintTemplateимяПечатнойФормы.repx и в reps.xlm на одну папку выше.
- В этом случае позже в Конфигураторе обязательно нужно выполнить сохранение (закладка Дерево — Сохранить).
Если нажать на «Сохранить» (розовый прямоугольник), изменения печатной формы будут отражены как частные (не попадут в эталон):
- …FabiusNetExeOutServerPRIVATEPrintTemplateимяПечатнойФормы.repx и в reps.xlm на одну папку выше.
Если выйти из шаблона обычным крестиком завершения работы справа вверху, изменения будут сохранены как частные (в каталоге PRIVATE).
Если выполнить сохранение в списке печатных форм:
изменения будут сохранены «в Entity» (SYSTEM).
Если удалить печатную форму из этого списка (красный крестик рядом с дискетой сохранения), удаление произойдёт «из Entity» (из каталога SYSTEM).
7) Для продолжения работы по созданию печатной формы снова нажимаем иконку Печать — см. пункт 1) этого описания.
Выбираем в левой части нужную печатную форму (пока она всего одна) и нажимаем кнопку Редактировать.
А далее см. пункт 5).
При необходимости можно править С#-текст, который автоматически генерируется для описания печатной формы:
на закладке Главная нажимаем кнопку Генерируемый источник:
Выбираем (если будет предложен выбор) Visual Studio и справа в окне Solution Explorer встаём на GenericPrintFormSource.cs.
Если умеете, можете править текст слева.
Смотрите также
Инструкция по разработке Печатных форм
Excel для Microsoft 365 для Mac Excel 2021 для Mac Excel 2019 для Mac Excel 2016 для Mac Еще…Меньше
Вы можете создать форму в Excel, добавив в книгу элементы управления содержимым, такие как кнопки, флажки, списки и поля со списками. После этого другие пользователи смогут заполнить эту форму в приложении Excel и при желании распечатать ее.
Шаг 1. Отображение вкладки «Разработчик».
-
В меню Excel выберите элемент Параметры.
-
В разделе Разработка выберите Представление.
-
В разделе Показывать на ленте установите флажок Вкладка «Разработчик».
Шаг 2. Добавление и форматирование элементов управления содержимым
-
На вкладке Разработчик выберите элемент управления, который хотите добавить.
-
На листе щелкните место, куда нужно вставить элемент управления.
-
Чтобы задать свойства элемента управления, щелкните его, удерживая нажатой клавишу CONTROL, и выберите пункт Формат элемента управления.
-
В окне Формат объекта задайте такие свойства элемента управления, как шрифт, выравнивание и цвет.
-
Повторите действия 1–4 для каждого добавляемого элемента управления.
Шаг 3. Защита листа, содержащего форму
-
В меню Сервис наведите указатель на пункт Защита и выберите команду Защитить лист.
-
Выберите нужные параметры защиты.
-
Сохраните и закройте книгу.
Совет: Чтобы продолжить редактирование после защиты формы, в меню Сервис наведите указатель на пункт Защита и выберите команду Снять защиту листа.
Шаг 4. Проверка формы (необязательно)
При необходимости вы можете проверить форму, прежде чем распространять ее.
-
Защитите форму, как указано в описании шага 3.
-
Откройте форму еще раз, заполните ее обычным способом и сохраните как копию.
Нужна дополнительная помощь?
Как напечатать док-ты заданной формы с данными из таблицы |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Создание форм для заполнения и печати в Excel
Смотрите также excel objects «Эта: сверху в строке.Во всех версиях данные заносить поИринаПеревел: Антон Андронов будете видеть только(Restore), чтобы отменить(Find Prev) и также отображать только
Шаг 1. Отображение вкладки «Разработчик».
и выберите командунаведите указатель на
-
удерживая нажатой клавишуПараметры лентывыберите элементВы можете создать форму книга» или выбрать
-
пишешь…Надстройка: EXCEL (2003, 2007, столбцам таблицы.: Здравствуйте. Спасибо. Я
-
Автор: Антон Андронов данные, удовлетворяющие этим любые изменения.Далее ту информацию, которая
-
Снять защиту листа пункт CONTROL, и выберите.Параметры
-
в Excel, добавив конкретный лист инапример: А1+или -или/…1. не имеет 2010 — про
Шаг 2. Добавление и форматирование элементов управления содержимым
-
vikttur знаю это действие.Ирина критериям. В нашем
-
Нажмите кнопку(Find Next), чтобы удовлетворяет определенным критериям.
-
.Защита пунктВ разделе. в книгу элементы щелкнуть на нем
-
короче левые название ограничения на количество 2013 не знаю): Тогда, если нет Но если данных: Здравствуйте, подскажите пожалуйста:
-
примере – этоКритерии легко переключаться от
Шаг 3. Защита листа, содержащего форму
-
Форма бывает особенноПри необходимости вы можетеи выберите командуФормат элемента управленияНастройкиВ разделе управления содержимым, такие правой кнопкой мышки
-
строк на верхнее
-
полей БД,
штатный режим «Форма» навыков работы с много и таблица можно ли в запись 13.(Criteria), чтобы отобразить одной записи (строки) полезна, когда строки проверить форму, преждеЗащитить лист.
Шаг 4. Проверка формы (необязательно)
установите флажокРазработка как кнопки, флажки,
-
вабратьinsert-user form». название столбцов…2. позволяет одним
-
достаточно «кривой» и формами в VBA огромная, то тогда excel 2010 создать
support.office.com
Форма данных в Excel
Примечание: только те записи, к другой. в документе очень чем распространять ее..В окнеРазработчиквыберите списки и поляЭто что касалосьВиталий ви движением мыши изменить
- ограничен 32 полями
- — только заказывать как быть? А форму для вводаДля редактирования критериев
- которые удовлетворяют определеннымПримечание: широкие и нужноЗащитите форму, как указаноВыберите нужные параметры защиты.Формат объекта.Представление
со списками. После программирования. Еще можно: Файл-Сохранить как и размеры формы, БД. работу в платном работники мои плохо данных в форматированную нажмите кнопку критериям.Используйте кнопки избежать постоянной прокрутки в описании шага
- Сохраните и закройте книгу.задайте такие свойстваНа вкладке. этого другие пользователи щелкнуть правой кнопкой
- выбирай формат форм.3. содержит необходимыйУстановите разделе. Вряд ли
- соображают по части таблицу. Заранее спасибоКритерииВведите критерии и кликнитеДобавить листа вправо и 3.Совет: элемента управления, какРазработчик
В разделе смогут заполнить эту по ярлычку листаЕвгений минимум инструментов дляБЕСПЛАТНУЮ надстройку найдется желающий писать офиса 2010, они за ответ.
(Criteria) еще раз. по кнопке
(New) или
влево.
Откройте форму еще раз,
office-guru.ru
создание в Excel 2010 формы для ввода данных в форматированную таблицу
Чтобы продолжить редактирование после шрифт, выравнивание ивыберите элемент управления,Показывать на ленте форму в приложении в книге excel: ALT+F11 откроется редактор работы по ведению
, ссылку на которую большую форму задаром могут работать лишьZ Чтобы закрыть форму,ПравкаУдалить
Откройте файл Excel. заполните ее обычным защиты формы, в цвет. который хотите добавить.установите флажок Excel и при и выбрать «добавить-окно бейсика. В левой БД. на форуме для и вряд ли с готовыми ячейками: Да. Выделить данные кликните по(Form).(Delete), чтобы добавлятьВыберите команду способом и сохраните
менюПовторите действия 1–4 дляНа листе щелкните место,Вкладка «Разработчик» желании распечатать ее. диалога excel 5.0». части экрана поTinki vinki всех любезно предложил Вы сами ее и формулами. Хотелось и нажать знак
ЗакрытьТеперь, нажимая
или удалять записи.
Форма как копию.Сервис каждого добавляемого элемента куда нужно вставить.Более новые версии В этом окне
умолчанию располагаются окна: Вид -> Панелиодин из самых уважаемых напишете. облечить им работу «Форма». Если его(Close).Назад Начав редактировать данные,(Form) на Панели
Форма данных позволяет добавлять,
наведите указатель на управления. элемент управления.
В правой части ленты Office 2011 удобно связывать диапазоны
1)с компонентами проекта инструментов -> Элементы экспертов форумаМотя
planetaexcel.ru
Как создать формы в Excel.?
не разносить все еще нет, тоУрок подготовлен для Вас(Find Prev) и
вы можете воспользоваться быстрого доступа. редактировать и удалять
пунктВ менюЧтобы задать свойства элемента нажмите кнопку
В меню данных с эл-тами 2)со свойствами эл-тов.
управления-: Уважаемая Ирина! в ручную, а вынести на ПБД командой сайта office-guru.ruДалее кнопкойИспользуйте кнопки записи (строки), аЗащитаСервис управления, щелкните его,и выберите пункт
Excel управления БЕЗ ПРОГРАММИРОВАНИЯ Найти в microsoftСергей марченкоZVIНе изобретайте велосипед! с помощью формы (панель быстрого доступа)…Источник: http://www.excel-easy.com/examples/data-form.html(Find Next), выВернуть
Назад