Как в excel сделать окно для ввода данных?

Ввод данных в Excel через форму

Множество разнообразных компьютерных программ, включая «самую главную программу в мире» — MS Windows, ведут общение с пользователем при помощи выпадающих диалоговых окон. Эти окна представляют собой формы, состоящие из надписей, изображений, полей для.

. ввода данных, флажков, переключателей, списков, кнопок и прочих элементов управления.

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

Стандартно при работе со значительными объемами информации вне зависимости от того, какое программное обеспечение используется, поступают следующим образом:

1. Создают таблицы базы данных.

2. Создают формы для ввода данных в таблицы.

3. Создают необходимые запросы к таблицам базы данных.

4. Формируют отчеты на основании запросов для вывода на печать.

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

В этой (пятой в цикле) статье рассмотрим п.2 вышеизложенного алгоритма – вызов и использование формы для ввода данных.

Форма Excel. Вводим данные!

Для чего нужна какая-то форма?! Бери таблицу — и пиши прямо в нее очередную строку информации! Зачем еще что-то выдумывать?

Мы так и делали при создании нашего небольшого и простого примера базы данных БД2 «Выпуск металлоконструкций участком №2», с которым работаем во всех статьях этого цикла.

Таблица маленькая, все столбцы-поля, относящиеся к одной записи, помещаются на экран и доступны взгляду пользователя без использования полос прокрутки. Но так бывает редко! Реальные таблицы баз данных часто содержат не шесть, как в нашем примере, а десять, двадцать и более столбцов-полей!

При вводе данных в такие таблицы Excel «напрямую» при заполнении строк для перемещения по столбцам необходимо каждый раз нажимать клавишу «Tab», а для перехода к новой записи на новую строку пользоваться прокруткой и мышью или клавишами «Enter» и «<—» («стрелка влево») для возврата на первое поле очередной строки.

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

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

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

Ввести очередную строку информации в базу данных через форму.

Рассмотрим ввод данных в Excel при помощи формы на примере добавления очередной записи в базу данных БД2 «Выпуск металлоконструкций участком №2».

1. Открываем в MS Excel файл database.xls.

2. Активируем («щелкаем мышкой») любую ячейку внутри таблицы базы.

3. Выполняем команду главного меню программы «Данные» — «Форма…».

4. В появившемся окне, представляющем собой форму с именем «БД2» (по имени листа книги Excel, на котором расположена таблица), нажимаем кнопку «Добавить».

5. Заполняем окна данными новой записи, например, так, как показано ниже на снимке экрана. Переходим от окна к окну при помощи клавиатуры, нажимая клавишу «Tab».

6. Нажимаем кнопку формы «Закрыть» или «Enter» на клавиатуре. Ввод данных в Excel успешно осуществлен — новая запись добавлена в базу!

На снимке экрана в таблице базы данных внизу расположилась строка «Итог», которую можно вызвать, выполнив команду главного меню «Данные» — «Список» — «Строка итогов». Пощелкайте мышкой по ячейкам этой строки! В появляющихся выпадающих списках можно настроить получение самых разнообразных итогов. Кроме банальной суммы можно получить для каждого столбца индивидуально: среднее, количество, количество чисел, максимум, минимум, смещенное отклонение, смещенную дисперсию! Очень полезная функция списка!

Если в форме «БД2» воспользоваться полосой прокрутки или кнопками «Далее» и «Назад», то можно, быстро перемещаясь по базе данных, просматривать интересующие записи.

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

Читать еще:  Как сделать циклограмму в excel?

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

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

Прошу уважающих труд автора подписаться на анонсы статей в окне, расположенном в конце каждой статьи или в окне вверху страницы!

Уважаемые читатели, пишите отзывы, вопросы и замечания в комментариях внизу страницы.

Microsoft Excel

трюки • приёмы • решения

Как использовать встроенную в Excel форму для ввода данных

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

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

  • Щелкните правой кнопкой мыши на панели быстрого доступа и выберите в контекстном меню пункт Настройка панели быстрого доступа. На экране появится раздел Панель быстрого доступа диалогового окна Параметры Excel.
  • В раскрывающемся списке Выбрать команды из выберите Команды не на ленте.
  • В списке ниже выберите Форма, а затем нажмите кнопку Добавить.
  • Нажмите ОК, чтобы закрыть диалоговое окно Параметры Excel.

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

Рис. 41.1. Форма ввода данных Excel

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

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

Чтобы ввести новую запись, нажмите кнопку Добавить для очистки полей. Теперь вы можете ввести новую информацию в соответствующие поля. Нажмите клавишу Tab или Shift+Tab для перемещения между полями. Когда вы нажмете кнопку Добавить (или Закрыть), данные, которые вы ввели, добавятся в нижнюю часть списка. Вы также можете нажать Enter, что эквивалентно нажатию кнопки Добавить. Если список содержит формулы, они также автоматически вводятся в новую запись.

Если ваш список назван Database, Excel автоматически расширяет определение диапазона так, чтобы он включал новую строку или строки, которые вы добавляете в список с помощью формы. Обратите внимание на то, что этот метод работает только тогда, когда имя списка — Database; никакое другое имя не работает. Используйте команду Формулы ► Определенные имена ► Присвоить имя, чтобы задать имя диапазону. Если список находится в таблице (созданной с помощью команды Вставка ► Таблицы ► Таблица), нет необходимости именовать диапазон. Таблица будет расширена автоматически при добавлении новых данных.

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

  • Удалить — удаляет текущую запись.
  • Вернуть — восстанавливает любую информацию, которую вы редактировали. Вы должны нажать ее, прежде чем нажмете кнопку Добавить.
  • Назад — отображает предыдущую запись в списке. Если вы ввели критерий, эта кнопка показывает предыдущую запись, которая соответствует критерию.
  • Далее — отображает следующую запись в списке. Если вы ввели критерий, эта кнопка показывает следующую запись, которая соответствует критерию.
  • Критерии — очищает поля и позволяет ввести критерий, по которому выполняется поиск записей. Например, чтобы найти записи, в которых значение цены менее $200 000, введите в поле Цена. Затем вы можете использовать кнопки Назад и Далее для отображения подходящих под критерий записей.
  • Закрыть — закрывает форму (и вводит любые данные, которые вы вводили).
Читать еще:  Как сделать дерево в excel?

Добавление, изменение, поиск и удаление строк с помощью формы данных

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

Общие сведения о форме данных

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

Microsoft Excel может автоматически создать встроенную форма данных для диапазон или таблица. Такая форма представляет собой диалоговое окно, в котором все заголовки столбцов отображаются в виде подписей. Каждой подписи соответствует текстовое поле, в которое можно вводить данные для столбца (максимальное количество столбцов — 32). В форме данных можно вводить новые строки, искать строки с помощью навигации, а также (в зависимости от содержимого ячеек) обновлять строки или удалять их. Если ячейка содержит формула, ее результат отображается в форме данных, но саму формулу в форме данных изменить нельзя.

Примечание: Форму данных нельзя распечатать. Кроме того, поскольку эта форма является модальным диалоговым окном, то, пока она открыта, в Excel невозможно воспользоваться командой Печать и кнопкой Печать. При необходимости можно сделать снимок формы (с помощью клавиши Windows Print Screen) и скопировать его в Microsoft Paint или другую программу.

Добавление кнопки «форма» на ленту

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

Важно: Убедитесь, что в диапазоне данных нет пустых строк.

Щелкните ячейку в диапазоне или таблице, куда нужно добавить форму.

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

Щелкните стрелку рядом с панелью быстрого доступа и выберите пункт Другие команды.

В поле Выбрать команды из выберите пункт Все команды и в списке найдите кнопку Форма .

Нажмите кнопку Добавить, а затем — ОК.

На панели быстрого доступа нажмите кнопку Форма .

Важно: Если отображается сообщение «В форме данных слишком много полей», необходимо сократить число столбцов: в форме данных их должно быть не более 32. Один из способов решения этой проблемы (при работы с диапазоном столбцов) — вставить пустой столбец, разбив диапазон на два. Затем, если необходимо, создайте отдельную форму данных для столбцов справа от пустого столбца.

Использование формы данных

Форму данных можно использовать для добавления, поиска, изменения и удаления строк в диапазоне или таблице.

Добавление строки данных

В форме данных нажмите кнопку Добавить.

В открывшейся форме данных введите данные для новой строки в показанных полях.

Чтобы перейти к следующему полю в строке, нажмите клавишу TAB. Чтобы перейти к предыдущему полю, нажмите клавиши SHIFT + TAB.

Указав нужные данные, нажмите клавишу ВВОД, чтобы сохранить изменения и добавить строку в нижнюю часть диапазона или таблицы.

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

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

Поиск строки с помощью навигации

Выполните одно или несколько действий, указанных ниже.

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

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

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

Чтобы перейти к предыдущей строке в диапазоне или таблице, нажмите кнопку Назад.

Поиск строки по определенным условиям

Нажмите кнопку Критерии и введите в форму данных условие сравнения.

В форме остаются только те строки, содержимое которых начинается с указанных данных. Например, если в качестве условия сравнения ввести Ша, то будут найдены строки «Шабалин» и «Шашков». Чтобы найти текст, который содержит только определенные символы, в условиях сравнения можно использовать подстановочные знаки.

Читать еще:  Как сделать подстрочный текст в excel?

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

Как в excel сделать окно для ввода данных?

Здравствуйте. Давно не беспокоил вас. И уже очень соскучился)

мне тут когда-то давно помогли с написанием такого макроса:

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

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

Sub Change_date()
ActiveWorkbook.Names.Add Name:=»myDate», RefersToR1C1:=Format(Date, «dd.mm.yyyy»)
Dim DateA
Do
DateA = InputBox(«Введите актуальную дату. Вызвать изменение даты можно нажав Ctrl+Q», «Запрос.», Date + 1)
Loop While Not IsDate(DateA)
ActiveWorkbook.Names(«myDate»).RefersToR1C1 = DateA

ActiveWorkbook.Names.Add Name:=»yearApple», RefersToR1C1:=Format(Date, «yyyy»)
Dim DateB
Do
DateB = InputBox(«Введите актуальный год для яблока. Вызвать изменение даты можно нажав Ctrl+Q», «Запрос.», Date + 1)
Loop While Not IsDate(DateB)
ActiveWorkbook.Names(«yearApple»).RefersToR1C1 = DateB

Не выводить все списком спрашивает два раза. ну а это естественно не удобно если переменных будет много. И не может год показывать как именно год почему не смотря на то что я указал Format(Date, «yyyy») всеравно спрашивает и месяц и день.

_Boroda_, Я правда старался сформулировать. У меня с этим всегда проблемы. хотя наверно это популярная проблема новичков. И согласен что у меня вышло плохо. Пробую еще раз. пожалуйста подскажите в этот раз получилось или лучше сформулировать иначе ? (хотя последний вопрос конечно глупо звучит)
На самом деле это очень ценное правило. Сам не раз убеждался. Не поверите может. но я это даже на собственной шкуре испытывал. Я вводил запрос в яндекс и находил свои темы на этом форуме и понимал потом как сделать надо.

Ага, новичок с 645-ю сообщениями за 4.5 года.

Так получше. Тоже не особо, но хоть как-то

Вы про вот так имели в виду?
[vba]

Sub Change_date()
ActiveWorkbook.Names.Add Name:=»myDate», RefersToR1C1:=Format(Date, «dd.mm.yyyy»)
Dim DateA
txt_ = «Введите актуальную дату.»
txt_ = txt_ & vbLf & «Вызвать изменение даты можно нажав Ctrl+Q»
Do
DateA = InputBox(txt_, «Запрос.», Date + 1)
Loop While Not IsDate(DateA)
ActiveWorkbook.Names(«myDate»).RefersToR1C1 = DateA

ActiveWorkbook.Names.Add Name:=»yearApple», RefersToR1C1:=Format(Date, «yyyy»)
Dim DateB
txt_ = «Введите актуальный год для яблока.»
txt_ = txt_ & vbLf & «Вызвать изменение даты можно нажав Ctrl+Q»
Do
DateB = InputBox(txt_, «Запрос.», Format(Date + 1, «yyyy»))
Loop While Not IsDate(«1/1/» & DateB)
ActiveWorkbook.Names(«yearApple»).RefersToR1C1 = DateB
End Sub

_Boroda_, Да действия правильно теперь выполняет но спрашиват дважды. Хотелось чтобы в одном диалоговом окне было много окошек куда можно вводить данные
1 текущая дата
2 год на яблоки
3 год на капусту
4 год на свеклу
5 год на апельсины

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

Sub Печать_на_Zebra()
Dim aPr$, s$, AllPrinters As Object, printer As Object, n%, m, primary_printer$, print_name$
primary_printer = Sheets(«printer»).Cells(1, «a»).Value ‘ Вместо «doPDF v7» — впишите нужный принтер по умолчанию
‘ primary_printer = «ZDesigner GC420d (перенаправлено 16)» ‘ Вместо «doPDF v7» — впишите нужный принтер по умолчанию
aPr = Application.ActivePrinter
Set AllPrinters = GetObject(«winmgmts://./root/CIMV2»).ExecQuery(«SELECT * FROM Win32_Printer», , 48)
‘Получаем список принтеров
For Each printer In AllPrinters
n = n + 1
s = s & vbCr & n & «: » & printer.Name
If printer.Name = primary_printer Then print_name = primary_printer: Exit For ‘ если primary_printer найден в списке доступных
Next
s = Right(s, Len(s) — 1)
‘Если такого принтера не найдено:
If print_name = «» Then
If InStr(1, s, vbCr, vbTextCompare) = 0 Then MsgBox «Error no printers»: Exit Sub
m = Split(s, vbCr)
n = Val(InputBox(«input Number of printer:» & vbCr & s, «Not found:» & primary_printer, 1))
If n > UBound(m) Or n = 0 Then MsgBox «Error no printers with this number»: Exit Sub
print_name = Split(m(n — 1), » «, 2)(1)
Sheets(«printer»).Cells(1, «a»).Value = print_name
End If
‘===============================
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:=print_name
‘Application.ActivePrinter = aPr ‘ Возврат активного принтера
End Sub

PS: Ну я имел ввиду в экселе новичок. С формулами немного уже понимаю а вот с VBA совсем ничего не знаю. конечно новичок.

Ссылка на основную публикацию
Adblock
detector