Как сделать ввод в excel?
Теперь для конкретно нашего примера нужно записать в поле следующий код:
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:
Видео-урок Как создать выпадающий список в Экселе на основе данных из перечня
Представим, что у нас есть перечень фруктов:
Для создания выпадающего списка нам потребуется сделать следующие шаги:
- Выбрать ячейку, в которой мы хотим создать выпадающий список;
- Перейти на вкладку “Данные” => раздел “Работа с данными” на панели инструментов => выбираем пункт “Проверка данных“.
- Во всплывающем окне “Проверка вводимых значений” на вкладке “Параметры” в типе данных выбрать “Список“:
- В поле “Источник” ввести диапазон названий фруктов =$A$2:$A$6 или просто поставить курсор мыши в поле ввода значений “Источник” и затем мышкой выбрать диапазон данных:
Если вы хотите создать выпадающие списки в нескольких ячейках за раз, то выберите все ячейки, в которых вы хотите их создать, а затем выполните указанные выше действия. Важно убедиться, что ссылки на ячейки являются абсолютными (например, $A$2), а не относительными (например, A2 или A$2 или $A2).
Как сделать выпадающий список в Excel используя ручной ввод данных
На примере выше, мы вводили список данных для выпадающего списка путем выделения диапазона ячеек. Помимо этого способа, вы можете вводить данные для создания выпадающего списка вручную (необязательно их хранить в каких-либо ячейках).
Например, представим что в выпадающем меню мы хотим отразить два слова “Да” и “Нет”. Для этого нам потребуется:
- Выбрать ячейку, в которой мы хотим создать выпадающий список;
- Перейти на вкладку “Данные” => раздел “Работа с данными” на панели инструментов => выбрать пункт “Проверка данных“:
- Во всплывающем окне “Проверка вводимых значений” на вкладке “Параметры” в типе данных выбрать “Список“:
- В поле “Источник” ввести значение “Да; Нет”.
- Нажимаем “ОК“
После этого система создаст раскрывающийся список в выбранной ячейке. Все элементы, перечисленные в поле “Источник“, разделенные точкой с запятой будут отражены в разных строчках выпадающего меню.
Если вы хотите одновременно создать выпадающий список в нескольких ячейках – выделите нужные ячейки и следуйте инструкциям выше.
Как создать раскрывающийся список в Эксель с помощью функции СМЕЩ
Наряду со способами описанными выше, вы также можете использовать формулу СМЕЩ для создания выпадающих списков.
Например, у нас есть список с перечнем фруктов:
Для того чтобы сделать выпадающий список с помощью формулы СМЕЩ необходимо сделать следующее:
- Выбрать ячейку, в которой мы хотим создать выпадающий список;
- Перейти на вкладку “Данные” => раздел “Работа с данными” на панели инструментов => выбрать пункт “Проверка данных“:
- Во всплывающем окне “Проверка вводимых значений” на вкладке “Параметры” в типе данных выбрать “Список“:
- В поле “Источник” ввести формулу: =СМЕЩ(A$2$;0;0;5)
- Нажать “ОК“
Система создаст выпадающий список с перечнем фруктов.
Как эта формула работает?
На примере выше мы использовали формулу =СМЕЩ(ссылка;смещ_по_строкам;смещ_по_столбцам;;).
Эта функция содержит в себе пять аргументов. В аргументе “ссылка” (в примере $A$2) указывается с какой ячейки начинать смещение. В аргументах “смещ_по_строкам” и “смещ_по_столбцам” (в примере указано значение “0”) – на какое количество строк/столбцов нужно смещаться для отображения данных. В аргументе “” указано значение “5”, которое обозначает высоту диапазона ячеек. Аргумент “” мы не указываем, так как в нашем примере диапазон состоит из одной колонки.
Используя эту формулу, система возвращает вам в качестве данных для выпадающего списка диапазон ячеек, начинающийся с ячейки $A$2, состоящий из 5 ячеек.
Как сделать выпадающий список в Excel с подстановкой данных (с использованием функции СМЕЩ)
Если вы используете для создания списка формулу СМЕЩ на примере выше, то вы создаете список данных, зафиксированный в определенном диапазоне ячеек. Если вы захотите добавить какое-либо значение в качестве элемента списка, вам придется корректировать формулу вручную. Ниже вы узнаете, как делать динамический выпадающий список, в который будут автоматически загружаться новые данные для отображения.
Для создания списка потребуется:
- Выбрать ячейку, в которой мы хотим создать выпадающий список;
- Перейти на вкладку “Данные” => раздел “Работа с данными” на панели инструментов => выбрать пункт “Проверка данных“;
- Во всплывающем окне “Проверка вводимых значений” на вкладке “Параметры” в типе данных выбрать “Список“;
- В поле “Источник” ввести формулу: =СМЕЩ(A$2$;0;0;СЧЕТЕСЛИ($A$2:$A$100;””))
- Нажать “ОК“
В этой формуле, в аргументе “” мы указываем в качестве аргумента, обозначающего высоту списка с данными – формулу СЧЕТЕСЛИ, которая рассчитывает в заданном диапазоне A2:A100 количество не пустых ячеек.
Примечание: для корректной работы формулы, важно, чтобы в списке данных для отображения в выпадающем меню не было пустых строк.
Как создать выпадающий список в Excel с автоматической подстановкой данных
Для того чтобы в созданный вами выпадающий список автоматически подгружались новые данные, нужно проделать следующие действия:
- Создаем список данных для отображения в выпадающем списке. В нашем случае это список цветов. Выделяем перечень левой кнопкой мыши:
- На панели инструментов нажимаем пункт “Форматировать как таблицу“:
- Из раскрывающегося меню выбираем стиль оформления таблицы:
- Нажав клавишу “ОК” во всплывающем окне, подтверждаем выбранный диапазон ячеек:
- Затем, выделим диапазон данных таблицы для выпадающего списка и присвоим ему имя в левом поле над столбцом “А”:
Таблица с данными готова, теперь можем создавать выпадающий список. Для этого необходимо:
- Выбрать ячейку, в которой мы хотим создать список;
- Перейти на вкладку “Данные” => раздел “Работа с данными” на панели инструментов => выбрать пункт “Проверка данных“:
- Во всплывающем окне “Проверка вводимых значений” на вкладке “Параметры” в типе данных выбрать “Список“:
- В поле источник указываем =”название вашей таблицы”. В нашем случае мы ее назвали “Список“:
- Готово! Выпадающий список создан, в нем отображаются все данные из указанной таблицы:
- Для того чтобы добавить новое значение в выпадающий список – просто добавьте в следующую после таблицы с данными ячейку информацию:
- Таблица автоматически расширит свой диапазон данных. Выпадающий список соответственно пополнится новым значением из таблицы:
Как скопировать выпадающий список в Excel
В Excel есть возможность копировать созданные выпадающие списки. Например, в ячейке А1 у нас есть выпадающий список, который мы хотим скопировать в диапазон ячеек А2:А6.
Для того чтобы скопировать выпадающий список с текущим форматированием:
- нажмите левой клавишей мыши на ячейку с выпадающим списком, которую вы хотите скопировать;
- нажмите сочетание клавиш на клавиатуре CTRL+C;
- выделите ячейки в диапазоне А2:А6, в которые вы хотите вставить выпадающий список;
- нажмите сочетание клавиш на клавиатуре CTRL+V.
Так, вы скопируете выпадающий список, сохранив исходный формат списка (цвет, шрифт и.т.д). Если вы хотите скопировать/вставить выпадающий список без сохранения формата, то:
- нажмите левой клавишей мыши на ячейку с выпадающим списком, который вы хотите скопировать;
- нажмите сочетание клавиш на клавиатуре CTRL+C;
- выберите ячейку, в которую вы хотите вставить выпадающий список;
- нажмите правую кнопку мыши => вызовите выпадающее меню и нажмите “Специальная вставка“;
- В появившемся окне в разделе “Вставить” выберите пункт “условия на значения“:
- Нажмите “ОК“
После этого, Эксель скопирует только данные выпадающего списка, не сохраняя форматирование исходной ячейки.
Как выделить все ячейки, содержащие выпадающий список в Экселе
Иногда, сложно понять, какое количество ячеек в файле Excel содержат выпадающие списки. Есть простой способ отобразить их. Для этого:
- Нажмите на вкладку “Главная” на Панели инструментов;
- Нажмите “Найти и выделить” и выберите пункт “Выделить группу ячеек“:
- В диалоговом окне выберите пункт “Проверка данных“. В этом поле есть возможность выбрать пункты “Всех” и “Этих же“. “Всех” позволит выделить все выпадающие списки на листе. Пункт “этих же” покажет выпадающие списки схожие по содержанию данных в выпадающем меню. В нашем случае мы выбираем “всех“:
- Нажмите “ОК“
Нажав “ОК“, Excel выделит на листе все ячейки с выпадающим списком. Так вы сможете привести за раз все списки к общему формату, выделить границы и.т.д.
Как сделать зависимые выпадающие списки в Excel
Иногда нам требуется создать несколько выпадающих списков, причем, таким образом, чтобы, выбирая значения из первого списка, Excel определял какие данные отобразить во втором выпадающем списке.
Предположим, что у нас есть списки городов двух стран Россия и США:
Для создания зависимого выпадающего списка нам потребуется:
- Создать два именованных диапазона для ячеек “A2:A5” с именем “Россия” и для ячеек “B2:B5” с названием “США”. Для этого нам нужно выделить весь диапазон данных для выпадающих списков:
- Перейти на вкладку “Формулы” => кликнуть в разделе “Определенные имена” на пункт “Создать из выделенного“:
- Во всплывающем окне “Создание имен из выделенного диапазона” поставьте галочку в пункт “в строке выше“. Сделав это, Excel создаст два именованных диапазона “Россия” и “США” со списками городов:
- Нажмите “ОК“
- В ячейке “D2” создайте выпадающий список для выбора стран “Россия” или “США”. Так, мы создадим первый выпадающий список, в котором пользователь сможет выбрать одну из двух стран.
Теперь, для создания зависимого выпадающего списка:
- Выделите ячейку E2 (или любую другую ячейку, в которой вы хотите сделать зависимый выпадающий список);
- Кликните по вкладке “Данные” => “Проверка данных”;
- Во всплывающем окне “Проверка вводимых значений” на вкладке “Параметры” в типе данных выберите “Список“:
- В разделе “Источник” укажите ссылку: =INDIRECT($D$2) или =ДВССЫЛ($D$2);
- Нажмите “ОК“
Теперь, если вы выберите в первом выпадающем списке страну “Россия”, то во втором выпадающем списке появятся только те города, которые относятся к этой стране. Также и в случае, когда выбираете “США” из первого выпадающего списка.
Рубрика Excel
Также статьи о работе с данными в Экселе:
- Типы данных в MS Excel
- Формы ввода данных в таблицы Excel
- Сортировка данных в MS Excel
- Фильтрация данных в Excel
Ввод данных в Excel мало у кого может вызвать какие-либо затруднения, разве что может появится путаница из-за выбранного формата ячеек. Но в нем есть также немало хитростей, используя которые можно гораздо упростить ввод данных в ячейку Excel и ускорить этот процесс в целом.
Данные, вводимые в Эксель, можно разделить на константы и формулы, и далее речь пойдет именно о константах. Под константами понимаются числовые и текстовые значения, значения даты и времени, логические значения.
Числовые значения
Ввод любых данных в Экселе можно производить с клавиатуры, из буфера обмена или подгружать из других файлов. Для ввода с клавиатуры нужно выделить ячейку, ввести значение и нажать «Enter» или любую другую клавишу смены положения курсора, например, табуляцию или стрелочки вверх, вниз и так далее.
При вводе числовых значений также используются специальные символы, такие как тире, для обозначения отрицательных значений, знак косой черты для дробных чисел, знак денежной единицы, процентов, и символ «Е» для представления числа в экспоненциальном виде.
По умолчанию в новом документе все ячейки имеют общий формат. Вводимое числовое значение выравнивается по правому краю и если оно не помещается в диапазон ячейки, то автоматически будет записано в экспоненциальной форме для сокращения количества знаков.
В случае выбора числового формата ячейки непомещающееся в диапазон ячейки значение будет заменено на знак решетки, который исчезнет при увеличении ширины ячейки до необходимого размера.
Для удобства в числовом формате вводимые значения можно разделять пробелом между группами разрядов, и это будет только визуальный эффект. Но почему-то это срабатывает, только если изначально формат ячейки был «Общий».
При вводе дробных значений некоторые записи Эксель может интерпретировать как дату и производить автозамену. Чтобы этого не происходило, необходимо перед дробным значением ввести ноль или же сразу выбрать необходимый формат ячейки перед внесением дробного значения. Так при вводе «1/10» будет произведена автоматическая замена на «01.окт», если формат ячейки был общим.
В Экселе есть возможность автоматического заполнения ряда значений. Например, введем в ячейку значение «1», затем выделим ее, подведем курсор к нижнему правому углу ячейки до появления черного крестика, зажмем его левой кнопкой мыши и протянем по нескольким ячейкам столбца или строки. В результате мы получим автозаполнение выделенных ячеек введенным нами значением «1». При этом правом нижнем углу выделенных ячеек появится значок «Параметры автозаполнения», при нажатии на который появится меню настроек. В нашем случае будет выбрано «Копировать ячейки», но если выбрать в меню «Заполнить», в ячейках появится последовательность чисел с шагом «1» независимо от начального введенного числа.
Если ввести два числа с каким-то шагом, выделить их и протянуть по ячейкам, то получится заполнение ряда значений с выбранным нами шагом. А если в настройках автозаполнения выбрать «Копировать ячейки», то получится копирование введенных нами значений в выделенные ячейки.
Также есть возможность ввода прогрессии с заданными параметрами, такими как шаг и максимальное значение. Для этого выделяем ячейку с начальным значением, на вкладке «Главная» выбираем меню «Заполнить», и нажимаем пункт «Прогрессия…». В результате появится окошко настроек, где необходимо выбрать тип прогрессии, шаг, максимальное значение и направление заполнения.
При необходимости заполнить какую-то область данными, можно выделить весь диапазон заполняемых ячеек и более не отвлекаться на выбор следующей ячейки. При вводе значения будут вводиться слева на право и сверху вниз, т.е. после заполнения первого столбца Эксель перейдет к заполнению второго.
Если необходимо скопировать одно и то же значение в большое количество ячеек, можно скопировать это значение в буфер обмена, выделить диапазон заполняемых ячеек или отдельные ячейки с зажатой клавишей «CTRL», а затем вставить значение из буфера обмена.
Текстовые значения
Текстовые значения можно также вводить как с клавиатуры, так и вставлять через буфер обмена. По умолчанию текст выравнивается по левому краю ячейки. При вводе длинного текста, ширина которого превышает ширину ячейки, текст будет отображаться поверх соседних следующих ячеек. Если же в следующей ячейке есть данные, то текст будет скрыт, и не будет показываться за пределами ячейки ввода.
Если необходимо ввести текст в ячейке в несколько строк, то можно в конце каждой строки устанавливать разрыв строки комбинацией клавиш «Alt + Enter».