Обязательно заполнение ячеек в excel

Содержание

  • 1 Способ 1 — горячие клавиши и раскрывающийся список в excel
  • 2 Способ 2 — самый удобный, простой и наиболее гибкий
  • 3 Способ 3 — как в excel сделать выпадающий список с использованием ActiveX
  • 4 Как в Excel заполнить ячейки одинаковыми значениями?
  • 5 Полуавтоматическое заполнение ячеек в Excel из выпадающего списка

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

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

как в excel сделать ячейку обязательной для заполнения

Этот же пункт меню можно запустить сочетанием клавиш Alt+»Стрелка вниз» и программа автоматически предложит в выпадающем списке значения ячеек, которые вы ранее заполняли данными. На изображении ниже программа предложила 4 варианта заполнения (дублирующиеся данные Excel не показывает). Единственное условие работы данного инструмента — это между ячейкой, в которую вы вводите данные из списка и самим списком не должно быть пустых ячеек.

как в excel сделать ячейку обязательной для заполнения

Использование горячих клавиш для раскрытия выпадающего списка данных

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

как в excel сделать ячейку обязательной для заполнения

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

Способ 2 — самый удобный, простой и наиболее гибкий

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

  1. Сперва необходимо создать список данных, который будет  источником данных для подстановки в выпадающий список в excel. Выделите данные и нажмите правой кнопкой мыши. В выпадающем списке выберите пункт «Присвоить имя…». как в excel сделать ячейку обязательной для заполнения

    Создание набора данных для списка

  2. В окне «Создание имени» задайте имя для вашего списка (это имя дальше будет использоваться в формуле подстановки). Имя должно быть без пробелов и начинаться с буквы. как в excel сделать ячейку обязательной для заполнения

    Введите имя для набора данных

  3. Выделите ячейки (можно сразу несколько ячеек), в которых планируется создать выпадающий список. Во вкладке «ДАННЫЕ» вверху документа нажмите на «Проверка данных». как в excel сделать ячейку обязательной для заполнения

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

  4. В окне проверка вводимых значение в качестве типа данных задайте «Список». В строке «Источник:» введите знак равно и имя для ранее созданного списка. Данная формула позволит ввести значения только из списка, т.е. произведет проверку введенного значения и предложит варианты. Эти варианты и будут выпадающим списком.

как в excel сделать ячейку обязательной для заполнения

Для создания проверки вводимых значений введите имя ранее созданного списка

При попытке ввести значение, которого нет в заданном списке, эксель выдаст ошибку.

как в excel сделать ячейку обязательной для заполнения

Кроме списка можно вводить данные вручную. Если введенные данные не совпадут с одним из данных — программа выдаст ошибку

А при нажатии на кнопку выпадающего списка в ячейке вы увидите перечень значений из созданного ранее.
как в excel сделать ячейку обязательной для заполнения

Способ 3 — как в excel сделать выпадающий список с использованием ActiveX

Чтобы воспользоваться этим способом, необходимо чтобы у вас была включена вкладка «РАЗРАБОТЧИК». По умолчанию эта вкладка отсутствует. Чтобы ее включить:

  1. Нажмите на «Файл» в левом верхнем углу приложения.
  2. Выберите пункт «Параметры» и нажмите на него.
  3. В окне настройки параметров Excel во вкладке «Настроить ленту» поставьте галочку напротив вкладки «Разработчик».

как в excel сделать ячейку обязательной для заполнения

Включение вкладки «РАЗРАБОТЧИК»

Теперь вы сможете воспользоваться инструментом «Поле со списком (Элемент ActiveX)». Во вкладке «РАЗРАБОТЧИК» нажмите на кнопку «Вставить» и найдите в элементах ActiveX кнопку «Поле со списком (Элемент ActiveX)». Нажмите на нее.

как в excel сделать ячейку обязательной для заполнения

Нарисуйте данный объект в excel выпадающий список в ячейке, где вам необходим выпадающий список.

как в excel сделать ячейку обязательной для заполнения

Теперь необходимо настроить данный элемент. Чтобы это сделать, необходимо включить «Режим конструктора» и нажать на кнопку «Свойства». У вас должно открыться окно свойств (Properties).

как в excel сделать ячейку обязательной для заполнения

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

Но нас на этапе создания интересуют только три основных:

  1. ListFillRange — указывает диапазон ячеек, из которых будут браться значения для выпадающего списка. В моем примере я указал два столбца (A2:B7 — дальше покажу как это использовать). Если необходимо только одни значения указывается A2:A7.
  2. ListRows — количество данных в выпадающем списке. Элемент ActiveX отличается от первого способа тем, что можно указать большое количество данных.
  3. ColumnCount — указывает сколько столбцов данных указывать в выпадающем списке.

как в excel сделать ячейку обязательной для заполнения

В строке ColumnCount я указал значение 2 и теперь в списке выпадающие данные выглядят вот так:

как в excel сделать ячейку обязательной для заполнения

Как видите получился выпадающий список в excel с подстановкой данных из второго столбца с данными «Поставщик».

Выпадающий список в 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 существует много приемов для быстрого и эффективного заполнения ячеек данными. Всем известно, что лень – это двигатель прогресса. Знают об этом и разработчики.

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

Рассмотрим приемы автоматического и полуавтоматического заполнения в Excel. А так же, какими инструментами обладают электронные таблицы для облегчения труда пользователя. Научимся применять их в практике и узнаем насколько они эффективные.

Как в Excel заполнить ячейки одинаковыми значениями?

Сначала рассмотрим, как автоматически заполнять ячейки в Excel. Для примера заполним наполовину незаполненную исходную таблицу.

Это небольшая табличка только на примере и ее можно было заполнить вручную. Но в практике иногда приходится заполнять по 30 тысяч строк. Чтобы не заполнять эту исходную таблицу вручную следует создать формулу для заполнения в Excel данными – автоматически. Для этого следует выполнить ряд последовательных действий:

  1. Перейдите на любую пустую ячейку исходной таблицы.
  2. Выберите инструмент: «Главная»-«Найти и выделить»-«Перейти» (или нажмите горячие клавиши CTRL+G).
  3. В появившемся окне щелкните на кнопку «Выделить».
  4. В появившемся окне выберите опцию «пустые ячейки» и нажмите ОК. Все незаполненные ячейки выделены.
  5. Теперь введите формулу «=A1» и нажмите комбинацию клавиш CTRL+Enter. Так выполняется заполнение пустых ячеек в Excel предыдущим значением – автоматически.
  6. Выделите колонки A:B и скопируйте их содержимое.
  7. Выберите инструмент: «Главная»-«Вставить»-«Специальная вставка» (или нажмите CTRL+ALT+V).
  8. В появившемся окне выберите опцию «значения» и нажмите Ок. Теперь исходная таблица заполнена не просто формулами, а естественными значениями ячеек.

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

Внимание! В 5-том пункте таблица красиво заполнилась без ошибок, так как наша активная ячейка была по адресу A2, после выполнения 4-го пункта. При использовании данного метода будьте внимательны и следите за тем где находится активная ячейка после выделения. Важно откуда она будет брать свои значения.

Полуавтоматическое заполнение ячеек в Excel из выпадающего списка

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

В новой исходной таблице автоматически заполните колонки C и D соответствующие им данными.

  1. Заполните заголовки колонок C1 – «Дата» и D1 – «Тип платежа».
  2. В ячейку C2 введите дату 18.07.2015
  3. В ячейках С2:С4 даты повторяются. Поэтому выделяем диапазон С2:С4 и нажимаем комбинацию клавиш CTRL+D, чтобы автоматически заполнить ячейки предыдущими значениями.
  4. Введите текущею дату в ячейку C5. Для этого нажмите комбинацию клавиш CTRL+; (точка с запятой на английской раскладке клавиатуры). Заполните текущими датами колонку C до конца таблицы.
  5. Диапазон ячеек D2:D4 заполните так как показано ниже на рисунке.
  6. В ячейке D5 введите первую буку «п», а дальше слово заполнят не надо. Достаточно нажать клавишу Enter.
  7. В ячейке D6 после ввода первой буквы «н» не отображается часть слова для авто-заполнения. Поэтому нажмите комбинацию ALT+(стрела вниз), чтобы появился выпадающий список. Выберите стрелками клавиатуры или указателем мышки значение «наличными в кассе» и нажмите Enter.

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

Внимание! Если значение состоит из нескольких строк, то при нажатии на комбинацию ALT+(стрела вниз) оно не будет отображаться в выпадающем списке значений.

Разбить значение на строки можно с помощью комбинации клавиш ALT+Enter. Таким образом, текст делится на строки в рамках одной ячейки.

Примечание. Обратите внимание, как мы вводили текущую дату в пункте 4 с помощью горячих клавиш (CTRL+;). Это очень удобно! А при нажатии CTRL+SHIFT+; мы получаем текущее время.

 

Николай

Пользователь

Сообщений: 229
Регистрация: 01.01.1970

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

 

gling

Пользователь

Сообщений: 4024
Регистрация: 01.01.1970

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

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

#3

17.09.2016 10:47:50

Цитата
Николай написал: путем не сложных комбинаций

не сложный макрос. в модуль ЭтаКнига. Заполнение граф Учебное учреждение и Класс не отслеживается (т.к. их может не быть)
офф. цыгане

Код
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim cl As Range
With Worksheets("Микроучасток")
    lRow = .Cells(.Rows.Count, 3).End(xlUp).Row
    For Each cl In .Range("C4:C" & lRow).Cells
        If cl <> Empty And Not cl Like "*проживают*" Then
            For I = 2 To 5 Step 3
                If cl.Offset(, I) = Empty Then
                    MsgBox "Не заполнена графа '" & .Cells(3, cl.Offset(, I).Column).Text & "' для " & cl & " !", vbCritical + vbOKOnly
                    Exit Sub
                End If
            Next
        End If
    Next
End With
End Sub

Прикрепленные файлы

  • обходной лист.xlsm (23.8 КБ)

Изменено: Sanja17.09.2016 11:14:45

Согласие есть продукт при полном непротивлении сторон.

 

Николай

Пользователь

Сообщений: 229
Регистрация: 01.01.1970

#4

17.09.2016 14:29:10

Спасибо огромное. Красиво сделано.
Но мне прям отлично подходит вариант от Sanja,
Только…

Цитата
Sanja написал:
Учебное учреждение не отслеживается

А можно чтоб отслеживался? Потому как там выбор обязателен.
А на счет класса верно подмечено, и цыгана я исправил. :-)
А если еще он будет блокировать редактирование пока макросы не разрешены (и оповещать об этом пользователя), цены этому решению не будет.

Изменено: Николай17.09.2016 14:32:27

 

Николай

Пользователь

Сообщений: 229
Регистрация: 01.01.1970

Не силен я в макросах. Сделал чтоб пропускало 4 строку вот таким вот образом.

Изменено: Николай17.09.2016 19:35:03

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

#6

17.09.2016 19:42:53

для Учебного учреждения можно так

Код
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim cl As Range
With Worksheets("Микроучасток")
    lRow = .Cells(.Rows.Count, 3).End(xlUp).Row
    For Each cl In .Range("C4:C" & lRow).Cells
        If cl <> Empty And Not cl Like "*проживают*" Then
            For I = 2 To 5
                If I <> 4 And cl.Offset(, I) = Empty Then
                    MsgBox "Не заполнена графа '" & .Cells(3, cl.Offset(, I).Column).Text & "' для " & cl & " !", vbCritical + vbOKOnly
                    Exit Sub
                End If
            Next
        End If
    Next
End With
End Sub

про разрешение макросов надо подумать

Изменено: Sanja17.09.2016 19:53:04

Согласие есть продукт при полном непротивлении сторон.

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

Вот тема
Еще материал

Согласие есть продукт при полном непротивлении сторон.

 

Николай

Пользователь

Сообщений: 229
Регистрация: 01.01.1970

#8

17.09.2016 20:55:44

Цитата
Sanja написал:
про разрешение макросов надо подумать

Вот что нашел я.

http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=52246&TITLE_SEO=52246

Но подогнать под себя не могу…
Не могу разобраться в коде.
Sanja, скажи честно обучиться VBA самостоятельно возможно? или только через институт (ну или курсы)
Сколько не пытаюсь, ни как не могу осилить, (html куды как проще и понятнее.)

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

#9

17.09.2016 21:02:13

Цитата
Николай написал: обучиться VBA самостоятельно возможно?

Вполне. На этом форуме большинство таких. Я тоже сам осваивал

Цитата
Николай написал: подогнать под себя не могу

Про какой код речь? Что Вы хотите? Мой не подошел?

Согласие есть продукт при полном непротивлении сторон.

 

Николай

Пользователь

Сообщений: 229
Регистрация: 01.01.1970

#10

17.09.2016 22:45:09

Цитата
Sanja написал: Про какой код речь?

Про тот который выводит сообщение при открытии файла если отключены макросы.
Мол чтобы начать работать с файлом нужно разрешить макросы. (а другие листы при этом скрыты)

Цитата
Sanja написал: Я тоже сам осваивал

Не ну а база то какая-то была?
Мобыть вы программист и на С++ кодите. :-)
И еще вопрос если разрешите, вот например код из

6-го

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

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

#11

17.09.2016 22:55:00

Цитата
Николай написал:
при открытии файла если отключены макросы

Почитайте эту

эту

статью.  

 

Николай

Пользователь

Сообщений: 229
Регистрация: 01.01.1970

#12

17.09.2016 23:09:21

Цитата
Sanja написал: Еще материал
Цитата
Юрий М написал: Почитайте эту  эту  статью.

Снова сделал как там сказано И … о чудо, заработало, а до этого не хотело, видать то ли копировал не верно то ли еще чего.

Неа не работает. Сообщение мелькает и тут же пропадает. при этом макросы не выполняются Запуск макросов отключен.
При этом становятся видимыми скрытые мною листы.


Прикрепленные файлы

  • обходной лист.xlsm (26.56 КБ)

Изменено: Николай17.09.2016 23:41:06

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

?

Согласие есть продукт при полном непротивлении сторон.

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

#14

18.09.2016 00:01:34

Цитата
Николай написал: Неа не работает

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

 

Николай

Пользователь

Сообщений: 229
Регистрация: 01.01.1970

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

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

Добавил в код сокрытие листа «вводные» и выбор листа «микроучасток».

Изменено: Николай18.09.2016 08:37:28

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

#16

21.09.2016 17:32:51

Цитата
Николай написал:
при этом происходит сохранение книги

После MsgBox(перед Exit Sub) надо добавить еще строку:

Код
Cancel = True

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Николай

Пользователь

Сообщений: 229
Регистрация: 01.01.1970

#17

21.09.2016 18:26:52

The_Prist,
При много благодарен. Как раз то что надо.

Как заставить пользователя заполнить все(обязательные) значения в новой строке?
Макросы и элементы упраления знаю плохо, если есть решение готовое, помогите плиз


условное_форматирование обязательных для заполнения ячеек: Например, если ячейка пустая, то цвет заливки — красный.
Пользователю сказать, что красных быть не должно.


Это как-то очень просто а потом у меня есть условия на значения там дата например, >0, значения из списка и т.д.


Интересует тот же вопрос!
Как сделать обязательный ввод во все ячейки которые мне нужны (в моем случае это столбец).
То есть если пользователь не ввел число в красные ячейки, то ему бы выскакивал MsgBox с текстом «Все красные поля обязательны для заполнения»



Цитата: ZORRO2005 от 01.03.2010, 20:58
2 варианта на 2 листах.

Это уже реализовано, нужно чтобы при сохранении выдавал сообщение (MsgBox) что не все ячейки в столбце заполнены и не давал бы сохранять.


Воспользовался файлом уважаемого ZORRO2005.
Для листа Вариант1. Попробуй стереть любое обязательное поле и сохранить.

Скажи мне, кудесник, любимец ба’гов…

Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995


_Boroda_ !  А где прописан первый вариант?

Может и я на что сгожусь … Если сгодился, можете меня по+благодарить+.


ЦитироватьBoroda_ !  А где прописан первый вариант?

Если вопрос подразумевает «Где лежит код макроса?», то Alt+F11, 2 раза левой мышой на «Эта книга»
Картинку см. в файле

Скажи мне, кудесник, любимец ба’гов…

Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995



Дело в том, что ЕПУСТО($B$2:$B$10) при пустой ячейке В7 дает {ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ИСТИНА:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ}, сложение всего этого даст 0, т.к. получится сумма текстовых значений. Два знака перед ЕПУСТО преобразуют этот массив в {0:0:0:0:0:1:0:0:0}. Его и суммируем.

Скажи мне, кудесник, любимец ба’гов…

Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995



Понял, нужно просто отключить макросы и тогда можно будет сохранить Ложные значения.


&quot писал(а):А еще вопросик, а если у меня ячейка не только а А1, а может быть и А3 и А100, то как код поправить?

Всё просто: Ссылка на ячейку «Cells(номер_строки, номер_столбца)». Дальше всё зависит от Вашей задачи. Можете отслеживать изменения и на всём листе. Например так. Создайте модуль и вставьте в начало:

В модуль книги вставьте:

Код: Выделить всё

Option Explicit
Private Sub workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If TargetRow > 0 Then
        If Len(Cells(TargetRow, 1).Value) > 0 And (Len(Cells(TargetRow, 2).Value) = 0 Or Len(Cells(TargetRow, 3).Value) = 0) Then
            MsgBox "Невозможно сохранить документ!" & Chr(10) & "Заполните ячейки «B" & TargetRow & "» и «С" & TargetRow & "»."
            Cancel = True
        End If
    End If
End Sub

А в модуль листа (или листов), на которых нужно отследивать изменения:

Код: Выделить всё

Option Explicit
Sub Worksheet_Change(ByVal Target As Range)
    If TargetRow > 0 And Target.Row <> TargetRow Then
        If Len(Cells(TargetRow, 1).Value) > 0 And (Len(Cells(TargetRow, 2).Value) = 0 Or Len(Cells(TargetRow, 3).Value) = 0) Then
            MsgBox "Заполните ячейки «B" & TargetRow & "» и «С" & TargetRow & "»."
            Application.EnableEvents = False
            Application.Undo
            Application.EnableEvents = True
            Exit Sub
        End If
    End If
    TargetRow = Target.Row
End Sub

Как сделать определенную ячейку обязательной для ввода перед закрытием книги?

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

Сделайте ячейку обязательной для ввода с помощью VBA


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

1. Включите книгу, содержащую обязательную ячейку, и нажмите Alt + F11 ключи для открытия Microsoft Visual Basic для приложений окно.

2. в Проекты под застройку панель, дважды щелкните Эта рабочая тетрадьи выберите Workbook и ДоЗакрыть из правого списка разделов, а затем вставьте в скрипт приведенный ниже код. Смотрите скриншот:

VBA: сделать ячейку обязательной

    If Cells(1, 2).Value = "" Then
        MsgBox "Cell B1 requires user input", vbInformation, "Kutools for Excel"
        Cancel = True
    End If

документ обязательный введите 1

3. Затем сохраните этот код и закройте всплывающее окно. Теперь, если ячейка B1 пуста, когда вы закрываете книгу, появится диалоговое окно ниже, чтобы напомнить вам ввести что-то в B1. Смотрите скриншот:
документ обязательный введите 2

Функции: Вы можете изменить ячейку B1 на другие ячейки по своему усмотрению.


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (31)


Оценок пока нет. Оцените первым!

Понравилась статья? Поделить с друзьями:
  • Обычный режим просмотра документа word
  • Обычный режим microsoft word
  • Обычный поиск в excel
  • Обычный txt в word
  • Обычные шрифты для word