Совет. Другие языки - Google-Translated. Вы можете посетить English версия этой ссылки.
Войти
x
or
x
x
Регистрация
x

or

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

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

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


хорошо Защитить рабочий лист

Kutools для Excel Защитить рабочий лист функция может быстро защитить сразу несколько листов или всю книгу.
doc защищает несколько листов
Вкладка «Office» Включите редактирование и просмотр с вкладками в Office и упростите свою работу ...
Kutools для Excel добавляет расширенные функции 300 в Excel и повышает производительность на 80%
  • Авто текст: Создайте свои любимые диаграммы, изображения, ячейки, сложные формулы и снова использовать их быстро в будущем.
  • Больше, чем текстовые функции 20: Извлечь номер из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова ...
  • Инструменты слияния: Несколько рабочих книг и листов в одном; Объединить несколько ячеек / строк / столбцов и сохранить данные; Объединить повторяющиеся строки и суммы ...
  • Сплит Инструменты: Разбить данные на несколько листов на основе значения; Одна рабочая книга для нескольких файлов Excel, PDF или CSV; От одного столбца до нескольких столбцов ...
  • Вставить Пропуск Скрытые / отфильтрованные строки; Подсчет и сумма по цвету фона; Создать список рассылки и Отправка писем по значению ячейки...
  • Суперфильтр: Создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировать по неделям, дням, частоте и более; Фильтр жирным шрифтом, формулами, комментариями ...
  • Более чем мощные функции 300; Работает с Office 2007-2019 и 365; Поддерживает все языки; Простота развертывания в компании; Полнофункциональная 60-дневная бесплатная пробная версия.

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


Kutools for Excel, с более чем 120 удобные функции Excel, повышают эффективность работы и экономят ваше рабочее время.

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

2. в проект панель, двойной щелчок ThisWorkbook, и выберите Workbook BeforeClose из списка правого раздела, затем вставьте ниже кода в скрипт. Смотрите скриншот:

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

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

doc mandantory введите 1

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

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

doc загрузить 1


Kutools для Excel - лучший инструмент для повышения производительности в офисе Повысьте производительность на 80%

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

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

  • Включить редактирование и чтение с вкладками в Word, Excel, PowerPoint, Издатель, Доступ, Visio и Проект.
  • Открывайте и создавайте несколько документов в новых вкладках одного и того же окна, а не в новых окнах.
  • Увеличивает вашу производительность на 50% и уменьшает сотни щелчков мышью для вас каждый день!
нижняя часть офиса
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Akshay Patil · 3 months ago
    I want to make rows C2 to C7 mandatory and C13 to C19 mandatory?

    Any help?

    2 sets of ranges are here but under the same column.
  • To post as a guest, your comment is unpublished.
    Shea · 1 years ago
    Is there any way that I can Required cell f4 and F5 have data before closing or saving?
    • To post as a guest, your comment is unpublished.
      Sunny · 1 years ago
      Just change B1 to F4 and F5 in the textbox to remind users.
  • To post as a guest, your comment is unpublished.
    zwaenepoel · 2 years ago
    Hello, thank you for this formula, it works!

    However, now I have created a template in which several cells are mandatory to fill out. But after creating the template and entering the macro, I cannot close it, because I have to fill out the cells :) So, I cannot send out a template...(where the mandatory cells must still be empty)


    Can you help me?

    Thanks!
    • To post as a guest, your comment is unpublished.
      Sally · 1 months ago
      I have this same issue. Is there a way to make a cell mandatory but blank for a template?
    • To post as a guest, your comment is unpublished.
      M · 5 months ago
      I'm interested in this also, thanks!
    • To post as a guest, your comment is unpublished.
      zagreb · 1 years ago
      Any update on this?
  • To post as a guest, your comment is unpublished.
    Shabaaz · 2 years ago
    Did you ever fined an answer to this?
  • To post as a guest, your comment is unpublished.
    ashley · 2 years ago
    how do i make column D16-D300 mandatory if column B16-300 has values? I used the code below for row 16 and tried variations but it is not working. any help is greatly appreciated!


    'us business as a mandatory field- need to fix if none are there and window pops up

    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    'Step 1: Check to see if Cell A1 is blank
    If Sheets("Sensitive Leave Tracker").Range("B16").Value "" And Sheets("Sensitive Leave Tracker").Range("D16").Value = "" Then

    'Step 2: Blank: cancel the Close and tell the user
    Cancel = True
    MsgBox "Cant close field required"
    'Step 3: Not Blank; Save and Close
    Else
    ActiveWorkbook.Close SaveChanges:=True

    End If
    End Sub
    • To post as a guest, your comment is unpublished.
      Sunny · 2 years ago
      Hello, sorry to reply so late. Here is the macro code you may be need. If it works, please let me know. Thanks!

      If Application.WorksheetFunction.CountA(Range("B16:B300")) > 0 Then

      If Application.WorksheetFunction.CountA(Range("D16:D300")) <> Range("D16:D300").Count Then

      MsgBox "Cell D16:D300 requires user input", vbInformation, "Kutools for Excel"

      Cancel = True

      End If

      End If