MulTEx » 28 Июль 2017 Дмитрий 3848 просмотров
Вызов команды:
MulTEx -группа Ячейки/Диапазоны —Диапазоны —Форма данных
ВВОД ДАННЫХ
На вкладке Ввод данных размещены элементы для основных операций с таблицей: навигация по записям, просмотр и изменений записей, копирование, добавление, изменение и удаление строк.
Навигация
Перемещаться по записям можно изменяя ползунок полосы прокрутки(колесиком мыши или перемещением горизонтального ползунка прокрутки). Чуть ниже отображается информация о том, сколько записей в таблице и какая запись сейчас просматривается.
Там же раcположено окно быстрого перехода к записи с указанным номером. Если указать число меньше или равное 1, то будет отображена первая запись. Если указать число, большее или равное количеству всех записей, то будет отображена последняя запись.
Форма не пропускает скрытые строки и столбцы при просмотре и поиске, но помечает такие ячейки серым фоном:
Работа со скрытыми ячейками ничем не отличается от работы с обычными ячейками.
Для поиска строк с конкретными значениями или по иным условиям необходимо воcпользоваться вкладкой Поиск.
Если внутри таблицы есть объединенные ячейки это не вызовет ошибки, но перемещение может происходить некорректно(в некоторых случаях объединенная ячейка будет считаться как одна строка).
Работа со строками
Значения каждой строки отображаются в полях. Левее каждого поля отображается заголовок таблицы, чтобы можно было точно понять к какому столбцу таблицы относится значение.
Изменяя значения в полях можно изменить значения ячеек. Для этого необходимо изменить значения в нужных полях и нажать Изменить строку.
Если в ячейке поля на листе создан выпадающий список значений — в форме он будет продублирован и можно будет выбрать значения из этого списка или ввести значение вручную.
Помимо этого есть и другие инструменты работы со строками и полями:
- Отменить изменения — если изменения в полях необходимо отменить до записи в ячейки, то надо нажать кнопку Отменить изменения. Эта кнопка отменяет изменения только в полях формы и никак не влияет на значения ячеек таблицы. Сразу после изменения в ячейках эта кнопка становится недоступной.
- Изменить строку — записывает в ячейки значения, заданные в полях. Записываются значения только измененных полей(если значение в поле отличается от первоначального значения в ячейке). Если изменить значение ячейки не удалось, то будет выдано сообщение:
Поля, данные которых не удалось изменить, будут окрашены красным:
Изменение поля будет отменено и в нем будет записано первоначальное значение. - Добавить строку — добавляет новую пустую строку либо после текущей строки, либо в конец таблицы. Это регулируется настройками на вкладке Настройки.
- Удалить строку — удаляет текущую строку. Это действие невозможно отменить.
- Дублировать строку:
-
после нажатия кнопки Дублировать добавляет новую строку на основании текущей. Новая строка вставляется либо после текущей, либо в конец таблицы. Это регулируется настройками на вкладке Настройки
- как есть — текущая строка копируется полностью, включая формулы, форматы и связи. Действие полностью совпадает с обычным копированием строки стандартными средствами.
- только значения — текущая строка копируется, но вставляется только форматы и значения. Все формулы, которые есть в текущей строке заменяются результатом их вычислений.
- только формулы — текущая строка копируется, но вставляется только форматы и формулы. Все ячейки, не содержащие формул очищаются.
- значения и формулы — текущая строка копируется, но вставляется только значения и формулы. Форматы не переносятся.
Правее каждого поля есть дополнительные элементы, в которых отображается информация о наличии формулы в ячейке, присутствии в тексте невидимых символов и текущем типе данных поля.
Индикатор формул
-
Если в ячейке содержится формула, то правее поля с данными этой ячейки появится значок . С помощью этого индикатора сразу можно понять в каких столбцах и ячейках содержатся формулы. Если щелкнуть по значку индикатора левой кнопкой мыши, то появится окно, в котором будет отображена формула:

Формула отображается в точности так же, как она выглядит в ячейке(если в ячейке записана формула массива — сама формула будет отображена в фигурных скобках {=A1:A10*B1B10}, а в заголовке появится текст Формула массива). В основном поле всегда отображается значение(результат вычисления формулы) и если изменить данные и нажать Изменить строку, то формула будет «затерта» новым значением.
Примечание: Окно с формулой можно закрыть либо крестиком, либо нажатием кнопки Esc. Пока открыто любое окно с формулой ни Excel ни форма не доступны. Следовательно, чтобы продолжить работать с формой необходимо закрыть активное окно с формулой.
Индикатор наличия непечатных символов в ячейке
-
Если в ячейке содержится текст с символами, которые считаются непечатными(перенос строки, новый абзац, неразрывный пробел и т.п.) — правее поля с данными этой ячейки появится значок

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

Из этого окна можно удалить в тексте ячейки все непечатные символы. Для этого надо в заголовке окна нажать левой кнопкой мыши на значок . Все непечатные символы будут заменены на пробел. Изменения вносятся только в форме. Для записи внесенных изменений в ячейку необходимо закрыть активное окно предпросмотра текста и нажать Изменить строку.
Примечание: Окно предпросмотра текста можно закрыть либо крестиком, либо нажатием кнопки Esc. Пока открыто любое окно предпросмотра текста ни Excel ни форма данных не доступны. Следовательно, чтобы продолжить работать с формой необходимо закрыть активное окно с предпросмотром.
Тип данных
-
Справа от каждого поля есть выпадающий список, с помощью которого можно выбрать тип данных в ячейке. Изменение типа данных не изменяет значения в ячейках, а влияет исключительно на отображение данных в полях формы. Однако, значения в этих полях могут влиять на типы данных при изменении строки кнопкой Изменить строку. Если в ячейке дата записана как текст и в списке выбран тип данных Дата и значение в поле будет изменено, то при нажатии кнопки Изменить строку форма попробует преобразовать данные в поле в дату и записать в ячейку уже не текст, а реальную дату. С числами и временем точно также(читать подробнее про то, как Excel видит данные). Но если в качестве типа данных будет выбрано значение Авто, то форма не будет пытаться изменять тип данных в ячейках.
Примечание: Хоть по умолчанию программа сама пытается определить тип данных — в силу особенностей работы с датой и временем в Excel они могут определяться не корректно(например, может быть отображено число вместо даты или времени). Тогда следует назначить нужный тип данных принудительно. Так же, если в ячейке установлен процентный формат данных(или различные денежные и пользовательские форматы) — они не будут применены. Число, дата или время будут отображены так, как их видит Excel.
ПОИСК
На этой вкладке можно быстро найти нужные записи, задав условия поиска:
В выпадающих списках для каждого поля выбирается метод сравнения: Равно, Не равно, Содержит, Не содержит, Начинается с, Не начинается с, Заканчивается на, Не заканчивается на, Больше, Меньше, Больше или равно, Меньше или равно. В поле указывается значение, которое необходимо найти в ячейке этого столбца.
Если метод не выбран, то поле игнорируются. Если выбран метод сравнения Содержит или Не содержит, то значение для поиска может содержать специальные символы подстановки: звёздочка(*) и вопросительный знак(?).
После нажатия кнопки Найти будут отобраны строки, отвечающие условиями поиска.
Если хоть одна строка отвечает условиям поиска — будет активирована вкладка Ввод данных и выделена первая найденная запись. Перемещение ползунка полосы прокрутки будет выделять последовательно все найденные строки(только те, которые подходят под условия поиска).
Общее количество найденных записей отображается внизу формы.
НАСТРОЙКИ
Настройка диапазона таблицы
-
Диапазон данных
- Определять автоматически — если установить, программа сама попытается определить начало и окончание таблицы, которую просматривать. Удобно использовать, если таблицы построены правильно, начинаются с ячейки A1 и заголовок состоит только из одной строки.
- Указать вручную — диапазон данных указывается вручную из любого доступного листа или книги. Может потребоваться, если на листе несколько таблиц и просматривать надо только конкретную.
отвечает за определение границ таблицы, данные которой просматриваются через форму
Номер строки заголовков(в диапазоне данных): указывается номер строки в диапазоне данных, в которой расположены заголовки. Как правило это строка №1, но при автоматическом определении диапазона данных строка заголовка может быть и ниже. Например, если шапка таблицы состоит из нескольких строк и в качестве заголовков необходимо использовать 2-ю строку.
При добавлении строк
-
настройка добавления строк на основной вкладке кнопкой Добавить
- Вставлять новую строку после текущей — новая строка будет добавлена после строки, которая просматривается в данный момент
- Вставлять новую строку в конец таблицы — независимо от того, какая строка проcматривается в текущий момент, новая пустая строка будет добавлена в конец таблицы.
При дублировании строк
-
настройка добавления строк на основной вкладке кнопкой Дублировать
- Вставлять новую строку после текущей — скопированная строка будет вставлена после строки, которая просматривается в данный момент
- Вставлять новую строку в конец таблицы — независимо от того, какая строка проcматривается в текущий момент, скопированная строка будет вставлена в конец таблицы.
Не выделять строки таблицы при перемещении — по умолчанию при изменении строки просмотра просматриваемая строка выделяется на листе.
Но если необходимо сравнить данные с другой таблицей(расположенной на другом листе или книге), то выделение постоянно будет «перекидывать» в ту таблицу, которая просматривается через форму.
Чтобы можно было одновременно перемещаться по записям и просматривать другие листы, галочку с пункта необходимо снять.
Источник: https://www.excel-vba.ru/multex/forma-dannyx/
Создание собственных списков для быстрого ввода данных
Что такое «Списки»? Это сохраненные в MS Excel списки данных, для ввода которых достаточно ввести только одно значение из этого списка, а дальше «растянуть» список на оставшиеся ячейки. Более подробно в статье «Как быстро ввести название месяцев или дней недели?». В этой статье я расскажу о том, как нам самим создавать и использовать такие списки.
Итак, давайте приступим. Создайте какой-нибудь часто-используемый вами список, например, список сотрудников и выделите его:
Для MS Excel 2010 — 2016:
В главном меню нажимаем зеленую вкладку «Файл«:
В выпавшем меню выбираем пункт «Параметры«:
В открывшемся диалоговом окне выбираем пункт «Дополнительно«:
В открывшемся окне, справа прокручиваем пункты до пункта «Общие«, в данном пункте нажимаем кнопку «Изменить списки…«:
В открывшемся окне, в правой нижней части, видим наш диапазон и нажимаем кнопку «Импорт«:
В поле «Элементы списка:» должен будет появиться ваш список. Нажимаем кнопку «ОК«:
В окне «Параметры Excel» так же нажимаем «ОК«:
Источник: https://e-xcel.ru/index.php/nachinayushchim/sozdanie-sobstvennykh-spiskov-dlya-bystrogo-vvoda-dannykh
Ввод данных — Microsoft Excel — Трюки
Вам также может понравиться
После ввода данных в электронную таблицу Microsoft
Даже если вы знакомы с Microsoft Excel, вы можете быть
Как включить / выключить функцию автозаполнения Excel
Введение Горячие клавиши предназначены для сокращения
При загрузке игр или запуска программ в Windows вы
Вы должны войти в Windows, чтобы использовать любой
Источник: https://comhub.ru/tryuki-microsoft-excel-vvod-dannyh/
Форма ввода данных в Excel
Рубрика Excel
Также статьи о работе с данными в Экселе:
При заполнении таблиц в Экселе можно воспользоваться формой ввода данных, которая должна значительно упростить весь процесс. Форма ввода данных в таблицы Excel позволит видеть сразу все колонки, которые необходимо заполнить, что особенно удобно при больших таблицах.
По умолчанию в Экселе 2010 и выше в меню нет возможности вызвать форму ввода и нам необходимо на панель быстрого доступа вытащить соответствующий значок. Для этого нажимаем правой кнопкой мыши на панель быстрого доступа, и в меню выбираем «Настройка панели быстрого доступа…».
В окошке «Параметры Excel» в левом меню должно быть выбрано «Панель быстрого доступа», в графе «Выбрать команды из…» выбрать «Команды на ленте». Далее в списке ниже необходимо найти графу «Форма», и кнопкой «Добавить» добавить значок на панель быстрого доступа. После чего нажать «Ок».
Возможность создать форму для ввода данных в Excel мы сделали, но теперь осталось разобраться, в каких случаях она работать не будет.
Форма ввода не будет работать, если в таблице имеется более 32 столбцов или если внесенные нами данные еще не напоминают таблицу, например, указаны только заголовки столбцов.
При этом, если создать таблицу через меню «Вставка Таблица» или применением форматирования таблицы, то форма ввода данных будет успешно работать, даже если в таблице будут только заголовки.
К примеру, на листе мы составили заголовки будущей таблицы без применения форматирования и внесли первое значение в любой столбец.
В этом случае Эксель уже может интерпретировать эти данные, как таблицу, и после нажатия на значок вызова формы появится окошко формы ввода данных.
После заполнения всех ячеек можно нажать на кнопку «Добавить» для переходя к заполнению следующего ряда, либо нажать «Закрыть» для завершения внесения данных.
Для удобства перехода к следующему полю формы можно использовать клавишу «Tab». В правом верхнем углу формы всегда отображается текущая заполняемая строка и общее количество строк таблицы. Чтобы перемещаться по строкам вперед и назад, можно использовать кнопки «Назад» и «Далее» или стрелочки вверх и вниз.
Источник: http://officeprogs.ru/excel/forma-vvoda-danny-h-v-excel.html
Как в Excel разрешить только текстовый ввод в столбце
Ошибки при вводе данных в таблицы распространены не только у новичков, но и среди опытных пользователей. Например, если при прокрутке из видимой области исчезает незакрепленный заголовок столбца, в колонку «Наименование изделия» вместо текстовой записи легко может попасть число — «Номер изделия».
Тогда, например, если случайно ввести число в ячейку, где должен быть текст, автоматически появится подсказка. Казалось бы, в таких случаях должна помочь стандартная проверка данных, но для нее можно установить только точные числовые значения и допустимую длину текста.
Для настройки пользовательской проверки данных выделите нужную область в таблице, перейдите на вкладку «Данные» и выберите функцию «Проверка данных» в группе «Работа с данными».
В открывшемся окне на вкладке «Параметры» раскройте список «Тип данных» и выберите «Другой». Появится поле для ввода формулы. Введите формулу «=ЕТЕКСТ(A1)». Затем перейдите на вкладку «Сообщение об ошибке» и введите название и текст, который выскакивает в случае ошибки, например: «В этом столбце можно вводить только текст!». Подтвердите, нажав OK, чтобы задать области новую проверку данных.
Теперь после каждого ввода числовых значений при нажатии [Enter] автоматически будет выводиться созданное вами уведомление об ошибке, и вам нужно будет скорректировать ввод. Обратите внимание, что комбинация из букв и чисел, например, «Box 7490», по-прежнему останется допустимой.
компании-производители
Источник: https://ichip.ru/sovety/kak-v-excel-razreshit-tolko-tekstovyjj-vvod-v-stolbce-221922
Как добавить записи в список данных в Excel 2016 — макеты 2019
После создания имен полей и одной записи списка данных и форматирования их в виде таблицы, снова готовы ввести остальные данные в качестве записей в последующих строках списка. Самый прямой способ сделать это — нажать клавишу Tab, когда курсор ячейки находится в последней ячейке первой записи.
Это приводит к тому, что Excel добавляет дополнительную строку в список данных, где вы можете ввести соответствующую информацию для следующей записи.
При выполнении ввода данных непосредственно в таблице списка данных нажмите клавишу Tab, чтобы перейти к следующему полю новой записи, а не к клавише со стрелкой влево.
Таким образом, когда вы заполняете запись в последнем поле записи, вы автоматически расширяете список данных, добавляете новую запись и помещаете курсор ячейки в первое поле этой записи.
Если вы нажмете стрелку влево, чтобы завершить запись, Excel просто перемещает курсор ячейки в следующую ячейку за пределами таблицы списка данных.
Использование кнопки формы
Вместо ввода записей списка данных непосредственно в таблице вы можете использовать форму данных Excel для внесения записей.
Единственная проблема с использованием формы данных заключается в том, что команда для отображения формы на листе с листом данных не является частью команд ленты.
Вы можете получить доступ к форме данных только путем добавления ее командной кнопки на панель быстрого доступа или на вкладку «Ribbon».
Чтобы добавить эту командную кнопку на панель быстрого доступа, выполните следующие действия:
-
- Нажмите кнопку «Настроить панель быстрого доступа» в конце панели быстрого доступа, а затем нажмите элемент «Больше команд» в в нижней части раскрывающегося меню.
- Excel открывает диалоговое окно «Параметры Excel» с выбранной вкладкой панели быстрого доступа.
- Кнопка команды Form, которую вы хотите добавить на панель быстрого доступа, доступна только при нажатии кнопки «Команды не в ленте» в раскрывающемся списке «Выбрать команды».
-
Выберите опцию «Команды не в ленте» в верхней части раскрывающегося списка «Выбрать команды».
-
Нажмите «Форма» в диалоговом окне «Выбрать команды» и нажмите кнопку «Добавить».
Excel добавляет кнопку «Форма» в самый конец панели быстрого доступа. Если вы этого желаете, вы можете нажать кнопки «Вверх» и «Вниз», чтобы изменить форму кнопки «Форма» на этой панели инструментов.
-
Нажмите «ОК», чтобы закрыть диалоговое окно «Параметры Excel» и вернуться к рабочему листу с помощью списка данных.
Добавление записей через форму данных
При первом нажатии кнопки пользовательской формы, добавленной на панель быстрого доступа, Excel анализирует строку имен полей и записей для первой записи и создает форму данных.
Эта форма данных перечисляет имена полей в левой части формы с записями для первой записи в соответствующих текстовых полях рядом с ними.
Здесь вы можете увидеть форму данных для новой базы данных Employee Data; он выглядит как настраиваемое диалоговое окно.
Введите вторую запись списка данных в форме данных.
Форма данных Excel создает записи, сделанные в первой записи. Форма данных также содержит ряд кнопок (справа), которые вы используете для добавления, удаления или поиска определенных записей в базе данных.
Прямо над первой кнопкой (Создать) в форме данных отображается номер записи, за которой следует общее количество записей (1 из 1 при первом создании формы данных).
При создании новых записей будет отображаться Новая запись над этой кнопкой, а не номер записи.
Все форматирование, которое вы назначаете конкретным записям в первой записи, автоматически применяется к этим полям в последующих записях, которые вы вводите, и используется в форме данных.
Например, если в списке данных содержится телефонное поле, вам нужно ввести только десять цифр телефонного номера в поле «Телефон» формы данных, если начальная запись номера телефона отформатирована в первой записи в формате «Специальный номер телефона» , Таким образом, Excel берет новую запись в телефонном файле, например 3075550045, и автоматически форматирует ее так, чтобы она отображалась как (307) 555-0045 в соответствующей ячейке списка данных.
Процесс добавления записей в список данных с формой данных прост. Когда вы нажимаете кнопку «Создать», Excel отображает пустую форму данных (отмеченную «Новая запись» в правой части формы данных), которую вы получите для заполнения.
После ввода информации для первого поля нажмите вкладку чтобы перейти к следующему полю в записи.
Вау! Не нажимайте клавишу Enter, чтобы перейти к следующему полю записи. Если вы это сделаете, вы введете новую, неполную запись в базу данных.
Продолжайте вводить информацию для каждого поля и нажимайте Tab, чтобы перейти к следующему полю в базе данных.
- Если вы заметили, что сделали ошибку и хотите изменить запись в поле, которое вы уже прошли, нажмите Shift + Tab, чтобы вернуться в это поле.
- Чтобы заменить запись, просто начните вводить текст.
- Чтобы отредактировать некоторые символы в этом поле, нажмите → или щелкните указатель I-луча в записи, чтобы найти точку вставки; затем отредактируйте запись оттуда.
При вводе информации в конкретное поле вы можете скопировать запись, сделанную в этом поле из предыдущей записи, нажав Ctrl + '(апостроф). Например, нажмите Ctrl + ', чтобы перенести одну и ту же запись в поле состояния каждой новой записи при вводе серии записей для людей, которые все живут в одном и том же состоянии.
При вводе дат в поле даты используйте согласованный формат даты, который знает Excel. (Например, введите что-то вроде 7/21/98 .) При вводе почтовых индексов, которые иногда используют начальные нули, которые вы не хотите исчезать из записи (например, почтовый индекс 00102), отформатируйте первая запись поля с форматом номера специального почтового индекса.
В случае других чисел, которые используют ведущие нули, вы можете отформатировать их с помощью текстового формата или поставить «(апостроф) до первого 0. Апостроф сообщает Excel рассматривать номер как текстовую метку, но не отображается в самой базе данных.
(Единственное место, где вы можете увидеть апостроф, находится на панели формул, когда курсор ячейки находится в ячейке с числовой записью.)
Нажмите клавишу со стрелкой вниз, когда вы ввели всю информацию для новой записи. Или вместо клавиши со стрелкой вниз вы можете нажать «Ввод» или нажать кнопку «Создать». Excel вставляет новую запись в качестве последней записи в базу данных на листе и отображает новую форму пустой формы, в которой вы можете ввести следующую запись.
Когда вы переходите к новой записи в форме данных, Excel вставляет только что выполненную запись как последнюю строку списка.
Когда вы закончите добавлять записи в базу данных, нажмите клавишу Esc или нажмите кнопку «Закрыть» в нижней части диалогового окна, чтобы закрыть форму данных.
Источник: https://ru.howtodou.com/how-to-add-records-to-data-list-in-excel-2016
Последовательный ввод данных в Excel
05 Янв
Добрый день, уважаемые читатели блога и зрители канала!
Отгремели новогодние праздники — пора браться за работу. Сегодня отвечу на очередной вопрос о вводе данных. Оговорюсь — речь пойдёт о последовательном вводе, когда мы вносим данные в таблицу ячейка за ячейкой.
- Если не отклоняться от стандартного способа ввода, то наши действия укладываются в следующий алгоритм:
- Ввод данных -> Tab -> ввод данных -> Tab -> ввод данных -> Enter
- Такой алгоритм позволит нам сначала вводить данные в строку (горизонтально), нажатие Enter позволит спуститься вниз на одну строку и вернуться в начало диапазона ввода.
Если сбиться и по привычке нажать Enter вместо Tab, то придётся устанавливать курсор в начало диапазона данных и снова повторять всю процедуру. Не удобно. Особенно если у нас идёт первоначальный ввод данных и их много.
Отталкиваясь от примера, давайте создадим небольшой макрос, который будет контролировать ввод данных и сам будет переходить на новые строки.
Построим работу на диалоговых окнах. В них будем вводить соответственно три переменных — «Название магазина», «Дата», «Выручка».
Переходим на вкладку «Разработчик» и добавляем новый модуль в книгу. О том как это сделать — ЗДЕСЬ.
- Вкладка «Разработчик», блок кнопок «Код», кнопка «Visual Basic»;
- Далее «Insert» — > «Module».
Теперь внесём туда следующий код. Его вы можете модифицировать по своему желанию.
Sub SerialInput()
Dim strDate As String
Dim strSum As String
Dim strMag As String
Dim lngRow As Long
Do
lngRow = Range(«A65536»).End(xlUp).Row + 1
- ‘ Вводим название магазина
strMag = InputBox(«Введите название магазина»)
If strMag = «» Then Exit Sub - ‘ Вводим дату
strDate = InputBox(«Введите дату»)
If strDate = «» Then Exit Sub - ‘ Вводим выручку
strSum = InputBox(«Введите выручку»)
If strSum = «» Then Exit Sub - ‘ Записываем данные в ячейки таблицы
Cells(lngRow, 1) = strMag
Cells(lngRow, 2) = strDate
Cells(lngRow, 3) = strSum - Loop
- End Sub
Пояснения
Как вы уже поняли, первым делом мы объявляем три переменных как и договаривались — strMag, strDate, strSum. Даём им значение — СТРОКА (String).
Также необходимо объявить переменную lngRow, она будет определять конец нашего диапазона. В примере у нас три столбца и 65536 строк. Также эта переменная будет цикличной (в конце макроса стоит команда Loop, петля).
Далее мы выводим три диалоговых окна (InputBox) с условием If str*** = «» Then Exit Sub, то есть если любое из полей будет пустым, макрос закончит свою работу.
Оставшиеся значения (Cells) записывают в соответствующие ячейки то, что введено в диалоговые окна.
Проверим правильность работы макроса. На вкладке «Разработчик» жмём кнопку макросы (альтернатива Alt+F8) и нажимаем кнопку «Выполнить».
Всё работает! Если же нам нужно продолжить ввод данных, просто устанавливаем курсор в первую ячейку (А10, А20, А30 и т.д.) и снова запускаем макрос.
Что-то было непонятно? Смотрим обучающее видео!
Источник: http://pcandlife.ru/posledovatelnii-vvod-dannix-v-excel/
Лабораторная работа №4 пользовательские форМы в программах на vba
Цель
работы – Освоение
разработки программ на VBA,
включающих применение пользовательских
форм.
4.1 Создание пользовательской формы в Excel
Пользовательская
форма – диалоговое окно, в котором можно
размещать элементы управления.
Пользовательская форма позволяет
создавать желаемый интерфейс, не
ограничиваясь возможностями стандартного
интерфейса Excel
или других программ.
Чтобы
создать пользовательскую форму в среде
Excel
и сделать ее работоспособной, требуется
выполнить следующее:
- выбрать команду Сервис – Макрос – Редактор VisualBasic;
- в среде программирования Visual Basic выбрать команду Insert – UserForm. Создается пользовательская форма, т.е. пустое окно, где можно размещать элементы управления;
- вызвать на экран панель элементов управления (если она не вызвана автоматически). Для этого выбрать команду View – Toolbox (в других версиях – View – Controls);
- разместить в окне пользовательской формы желаемые элементы управления;
- вызвать на экран меню свойств элементов управления (меню Properties), если оно не вызвано автоматически. Для этого выбрать команду View – PropertiesWindow;
- используя меню свойств элементов управления, установить желаемые свойства пользовательской формы или размещенных на ней элементов управления. Для этого выбрать из списка в верхней части меню Properties желаемый элемент управления или пользовательскую форму (UserForm); после этого установить желаемые свойства;
- разработать программу на языке VBA для работы с пользовательской формой. Для этого выбрать команду View – Code. Вызывается редактор VBA, и открывается модуль пользовательской формы. В нем следует ввести текст программы для обработки событий, связанных с пользовательской формой (инициализация пользовательской формы, нажатие кнопок и т.д.);
- вернуться из режима разработки программы в режим работы с окном пользовательской формы. Для этого убедиться, что в окне проекта (в левой части экрана) выбрана отметка пользовательской формы, и выбрать команду View – Object;
- для начала работы с пользовательской формой (т.е. для ее “запуска”) выбрать команду Run/RunSub/UserForm.
4.2 Примеры программ с использованием пользовательских форм
Пример
4.1 – Требуется
разработать пользовательскую форму
(см. рисунок 4.1), которая будет запрашивать
у пользователя диапазон ячеек рабочего
листа Excel
(левый верхний и правый нижний угол) и
вычислять, по выбору пользователя, сумму
или произведение чисел в ячейках этого
диапазона. Для ввода границ диапазона
(т.е.
левого верхнего и правого нижнего
угла) и для вывода результата (суммы или
произведения) должны использоваться
текстовые поля пользовательской формы.
Для выбора операции (сумма или произведение)
должен использоваться список. Вычисление
должно выполняться по нажатию кнопки,
размещенной на пользовательской форме.
Кроме того, требуется создать кнопку
для закрытия пользовательской формы.
Создание
элементов управления и указание их
свойств
Требуется
создать пользовательскую форму, как
показано в подразделе 4.1. В ее окне
требуется разместить элементы управления:
три надписи (Label),
три текстовых поля (TextBox),
раскрывающийся список (ComboBox),
две кнопки (CommandButton).
В результате окно пользовательской
формы должно иметь примерно такой вид,
как показано на рисунке 4.2.
Рисунок 4.1 –Пользовательская форма (пример 4.1) во время работы программы | Рисунок 4.2 –Пользовательская форма (пример 4.1) в режиме редактирования |
Чтобы
форма имела такой вид, как показано на
рисунке 4.2, требуется с помощью меню
Properties
задать для
нее следующие свойства:
- форма в целом (UserForm): Name – Sum_proizv (имя формы, используемое для ссылок на нее); Caption – Вычисления (заголовок формы);
- надписи: для первой надписи (на рисунке 4.2 – верхняя) указать свойство Caption – Левый верхний. Для другой надписи указать свойство Caption – Правый нижний, для третьей указать Caption – Результат;
- текстовые поля: для верхнего поля указать свойство Name – Nach, для следующего – Kon, для третьего – Rez;
- раскрывающийся список: Name – Operacii;
- кнопка для вычисления результата: Name – Schet, Caption – Вычислить;
- кнопка для закрытия формы: Name – Vyhod, Caption – Выход.
Примечание
– Некоторые другие свойства элементов
формы (например, перечень элементов
списка и номер его текущего элемента)
будут заданы в программе для работы с
формой.
Разработка
программы
Чтобы
приступить к написанию программы для
работы с созданной пользовательской
формой, требуется после создания формы,
приведенной на рисунке 4.2, выбрать
команду View
– Code.
Вызывается редактор VBA,
и открывается модуль пользовательской
формы. В нем необходимо ввести следующий
текст программы (некоторые заголовки
подпрограмм будут созданы автоматически):
- Private
Sub UserForm_Initialize() - Operacii.AddItem
«сумма» - Operacii.AddItem
«произведение» - Operacii.ListIndex
= 0 - End
Sub - Private
Sub Schet_Click()
diap
= Nach.Value + «:» + Kon.Value
Set
d = Range(diap)
m
= d.Rows.Count
n
= d.Columns.Count
- If
Operacii.ListIndex = 0 Then - Sum
= 0 - For
i = 1 To m - For
j = 1 To n
Sum
= Sum + d.Cells(i, j).Value
- Next
j - Next
i - Rez.Value
= Sum - End
If - If
Operacii.ListIndex = 1 Then - proizv
= 1 - For
i = 1 To m - For
j = 1 To n
proizv
= proizv * d.Cells(i, j).Value
- Next
j - Next
i - rez.Value
= proizv - End
If - End
Sub - Private
Sub Vyhod_click() - Unload
Sum_proizv - End
Sub
Процедура
UserForm_Initialize()
выполняется в начале работы с
пользовательской формой, т.е. выполняет
ее инициализацию. Оператор Operacii.AddItem
«сумма»
означает, что к списку Operacii
применяется действие (метод) AddItem,
т.е. к списку добавляется заданный
элемент – слово “сумма”.
Затем в список аналогично включается
элемент “произведение”.
В операторе operacii.ListIndex
= 0 свойству
ListIndex
списка Operacii
присваивается значение 0; это означает,
что по умолчанию в списке будет выбран
первый по
порядку
элемент, т.е.
элемент “сумма”
(элементы списка имеют номера, начиная
с нуля).
Процедура
Schet_Click()
выполняется при нажатии кнопки с именем
Schet
(т.е. кнопки “Вычислить”).
В операторе diap
= Nach.Value
+ «:» + Kon.
Value
составляется символьная строка из
значений текстовых полей Nach
и Kon,
между которыми добавляется двоеточие;
таким образом, строка diap
будет представлять собой диапазон
ячеек, заданный в текстовых полях.
Например, если в текстовом поле Nachпользователь
введет значение B2,
а в текстовом поле Kon– значение
F4,
то переменная diap
будет иметь значение “B2:F4”.
В
операторе Setd
= Range(diap)
переменная d
связывается с диапазоном, заданным
переменной diap.
В двух следующих операторах определяется
количество строк и столбцов в заданном
диапазоне.
В
операторе IfOperacii.ListIndex
= 0 Then
… проверяется,
чему равно свойство ListIndex
списка Operacii,
т.е. какой элемент выбран в списке
Operacii.
Если выбран элемент с номером 0 (т.е.
первый элемент – “сумма”),
то выполняется суммирование значений
ячеек в заданном диапазоне. Результат
вычислений (переменная Sum)
присваивается текстовому полю Rez:
Rez.
Value
= Sum.
Аналогично,
если выбран элемент списка с номером 1
(“произведение”),
то вычисляется произведение ячеек в
заданном диапазоне, и результат выводится
в текстовое поле Rez.
Процедура
Vyhod_click()
выполняется при нажатии кнопки с именем
Vyhod
(т.е. кнопки “Выход”).
Оператор UnloadSum_proizv
закрывает форму.
Пример
4.2 – Требуется
разработать пользовательскую форму
(см. рисунок 4.3) для возведения чисел в
заданную степень и для извлечения корней
заданной степени (или для выполнения
обеих этих операций). Для ввода числа,
которое требуется возвести в степень
(или извлечь из него корень), должно
использоваться текстовое поле.
Показатель
степени (для возведения или извлечения
корня) задается с помощью счетчика. Для
выбора операции (возведение в степень
или извлечение корня) используются
флажки. Результаты должны выводиться
в текстовые поля. Вычисление должно
выполняться по нажатию кнопки, размещенной
на пользовательской форме.
Кроме того,
требуется создать кнопку для закрытия
пользовательской формы.
Создание
элементов управления и указание их
свойств
Пусть
требуется создать пользовательскую
форму примерно такого вида, как показано
на рисунке 4.4. Для этого потребуется
задать следующие элементы управления
и их свойства (конечно, имена элементов
управления могут быть и другими):
- форма в целом (UserForm): Name – Stepen_koren (имя формы, используемое для ссылок на нее); Caption – Степени и корни (заголовок формы);
- надписи (Label): две надписи со свойствами Caption – Число и Показатель;
- текстовые поля (TextBox): четыре текстовых поля со свойствами Name – Osnovanie, Pokazatel, Stepen, Koren (на рисунке 4.4 эти текстовые поля приведены сверху вниз);
- счетчик (SpinButton): свойство Name – Pokaz;
- флажки (CheckBox): два флажка со свойствами Name – Vozved и Izvlech, Caption — Возведение и Извлечение;
- кнопки: кнопка для вычисления результата должна иметь свойства Name – Schet, Caption – Вычислить, а кнопка для закрытия формы — свойства Name – Vyhod, Caption – Выход.
Примечание
– Важно понимать, что все связи между
элементами управления (например,
отображение значения счетчика, вывод
результатов операций и т.д.) должны
задаваться в программе для работы с
формой.
Рисунок 4.3 – Пользовательская форма (пример 4.2) во время работы программы | Рисунок 4.4 – Пользовательская форма (пример 4.2) в режиме редактирования |
-
Разработка
программы -
Программа
для работы с формой для данной задачи
должна иметь примерно следующий вид: - Private
Sub UserForm_Initialize() - Vozved.Value
= True - Izvlech.Value
= True - End
Sub -
Private
Sub Pokaz_change()
pokazatel.Value
= Pokaz.Value
- End
Sub -
Private
Sub Raschet_click() - x
= CSng(Osnovanie.Value) - y
= CInt(Pokazatel.Value) - If
vozved.Value = True Then - z
= x ^ y - Stepen.Value
= z - Else
- Stepen.Value
= «» - End
If - If
Izvlech.Value = True Then - z
= x ^ (1 / y) - Koren.Value
= z - Else
- Koren.Value
= «» - End
If - End
Sub - Private
Sub Vyhod_click() - Unload
Stepen_koren - End
Sub
Процедура
UserForm_Initialize()
выполняется в начале работы с
пользовательской формой. Операторы
Vozved.Value
= True
и Izvlech.Value
= True
означают, что в начале работы с формой
оба флажка (Vozved
и Izvlech)
должны быть установлены.
Процедура
Pokaz_change()
выполняется при каждом изменении
значения счетчика Pokaz.
Оператор Pokazatel.Value
= Pokaz.
Value
означает, что значение счетчика Pokaz
выводится в текстовое поле Pokazatel
(т.е. присваивается его свойству Value).
Это необходимо, чтобы видеть на экране
значение счетчика (т.е.
заданную степень).
Процедура
Schet_Click()
выполняется при каждом нажатии кнопки
с именем Schet
(т.е. кнопки “Вычислить”).
В операторе x
= CSng(Osnovanie.Value)
переменной x
присваивается значение текстового поля
Osnovanie
(т.е.
число, которое требуется возвести
в степень и/или извлечь из него корень);
функция CSng
преобразует значение этого поля в тип
Single
(т.е. вещественное число). В операторе y
= CInt(Pokazatel.Value)
переменной y
присваивается значение поля Pokazatel
(т.е.
показатель степени), преобразованное
в тип Integer.
Если
выполняется условие vozved.Value
= True
(т.е.
флажок Vozved
установлен), то выполняется заданное
возведение в степень, и результат
выводится в текстовое поле Stepen.
Если условие Vozved.
Value
= True
не выполняется (т.е. флажок Vozved
сброшен), то текстовое поле Stepen
очищается (в него выводится пустая
строка).
Аналогично,
если установлен переключатель Izvlech,
то выполняется извлечение корня заданной
степени, и результат выводится в текстовое
поле Koren.
Процедура
Vyhod_Click(),
выполняемая при нажатии кнопки с именем
Vyhod,
предназначена для закрытия формы. Она
аналогична процедуре для этой цели,
приведенной в предыдущем примере.
Источник: https://studfile.net/preview/1401261/page:16/