Note: The other languages of the website are Google-translated. Back to English

Як дозволити лише формат дати у певних клітинках?

Як можна обмежити список комірок, щоб дозволити лише введення формату дати на аркуші Excel? У цій статті я розповім про кілька цікавих прийомів для вирішення цієї роботи.

Дозволити лише формат дати у певних клітинках із функцією перевірки даних

Дозволити лише формат дати у певних клітинках із кодом VBA


стрілка синя права міхур Дозволити лише формат дати у певних клітинках із функцією перевірки даних

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

1. Клацання дані > Перевірка достовірності даних > Перевірка достовірності даних, див. скріншот:

doc дозволити дату 1

2, в Перевірка достовірності даних діалогове вікно натисніть кнопку настройки , а потім виберіть виготовлений на замовлення від дозволяти випадаючий список, а потім введіть цю формулу: = І (ІЗНОМ (B2), ВЛІВО (КЛІТИНА ("формат", B2), 1) = "D") в Formula текстове поле, див. знімок екрана:

doc дозволити дату 2

примітки: У наведеній вище формулі, B2 - це перша комірка стовпця, для якої потрібно обмежити формат даних.

doc дозволити дату 3

3. Потім продовжуйте клацати Повідомлення про помилку на діалоговому вікні, виконайте такі дії:

(1.) Перевірте Показувати попередження про помилку після введення недійсних даних варіант;

(2.) Під стиль спадне меню, будь ласка, виберіть Стоп варіант;

(3.) Введіть назва і Повідомлення про помилку що ви хочете відобразити у вікні підказки.

4. Після закінчення налаштувань натисніть OK , і тепер, коли ви вводите дані, які не є реальним форматом дати, з'явиться вікно запиту, щоб нагадати вам, як показано на екрані:

doc дозволити дату 4


стрілка синя права міхур Дозволити лише формат дати у певних клітинках із кодом VBA

Другий спосіб - я ввів для вас код VBA.

1. Активуйте робочий аркуш, який ви хочете використовувати.

2. Потім клацніть правою кнопкою миші вкладку аркуша та виберіть Переглянути код у контекстному меню див. знімок екрана:

doc дозволити дату 5

3. У відображеному Microsoft Visual Basic для додатків вікно, скопіюйте та вставте наведений нижче код у Модулі, див. скріншот:

Код VBA: Дозволити лише введення формату дати у певні комірки:

Private Sub Worksheet_Change(ByVal Target As Range)
'updateby Extendoffice
Set w = ActiveSheet.Range("B2:B12")
For Each c In w
If c.Value <> "" And Not IsDate(c) Then
c.ClearContents
MsgBox "Only a date format is permitted in this cell."
End If
Next c
End Sub

doc дозволити дату 6

4. Потім збережіть оголошення, закрийте код, тепер, коли ви введете значення, яке не є форматом дати, в діапазоні B2: B12, з’явиться підказка, щоб нагадати вам, і значення комірки буде одночасно очищено, див. Знімок екрана:

doc дозволити дату 7


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2019 та 365. Підтримує всі мови. Простота розгортання на вашому підприємстві чи в організації. Повна функція 30-денної безкоштовної пробної версії. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці

 

Коментарі (8)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
який формат дати дозволена ця функція. На деякі дати він не працює
Цей коментар був мінімізований модератором на сайті
як додати перевірку дати для формату дати "ДД-ммм-ррр" (15 грудня 2018 р.), як це
Цей коментар був мінімізований модератором на сайті
Щиро дякую, для застосування коду VBA до кількох стовпців, будь ласка, надайте формулу?.. Я намагався, але в підсумку отримав помилку 405!
Цей коментар був мінімізований модератором на сайті
Привіт, Кевін,
Щоб застосувати код для кількох діапазонів, вам просто потрібно додати посилання на клітинки в код, як показано нижче:

Приватний допоміжний робочий лист_Change(ByVal Target As Range)
Встановіть w = ActiveSheet.Range("B2:B12,A1:A10,C5:C20")
Для кожного c In w
Якщо c.Value <> "" А не IsDate(c), то
c. ClearContents
MsgBox "У цій комірці дозволено лише формат дати."
End If
Наступний c
End Sub

Будь ласка, спробуйте, сподіваюся, це допоможе вам!
Цей коментар був мінімізований модератором на сайті
Велике спасибі @skyyang, дуже ціную вашу допомогу :)
Цей коментар був мінімізований модератором на сайті
Як я можу зобов’язати ввести час? (hh:mm)Private Sub Worksheet_Change(ByVal Target As Range)
'updateby Extendoffice 20150530
Встановити w = ActiveSheet.Range("B2:B12")
Для кожного c In w
Якщо c.Value <> "" And Not IsDate(c), то <----------------------------And Not isTime(c) не працює!
c. ClearContents
MsgBox "У цій комірці дозволено лише формат дати."
End If
Наступний c
End Sub
Цей коментар був мінімізований модератором на сайті
Привіт, Роберто,

Щоб дозволити вводити лише формат часу, слід застосувати наведений нижче код:



Приватний допоміжний робочий лист_Change(ByVal Target As Range)

'updateby Extendoffice

Dim xArr як варіант

Dim xF як ціле число

Dim xB як логічне значення

Dim xWRg, xCRg як діапазон

Встановіть xWRg = ActiveSheet.Range("B2:B20")

Для кожного xCRg в xWRg

xArr = Split(xCRg.Value, ":")

xB = Неправда

Якщо UBound(xArr) <= 2 Тоді

Для xF = LBound(xArr) до UBound(xArr)

Якщо IsNumeric(xArr(xF)) Тоді

Якщо xF = 0 Тоді

Якщо (xArr(xF) > 0) і (xArr(xF) < 24) Тоді

Ще

xB = правда

Перейти до BTime

End If

Ще

Якщо (xArr(xF) > 0) і (xArr(xF) < 60) Тоді

Ще

xB = правда

Перейти до BTime

End If

End If

Ще

xB = правда

Перейти до BTime

End If

Далі

Ще

MsgBox "У цій комірці дозволено лише формат часу."

xCRg.ClearContents

End If

BTime:

Якщо xB Тоді

MsgBox "У цій комірці дозволено лише формат часу."

xCRg.ClearContents

End If

Наступний xCRg

End Sub



Будь ласка, спробуйте, дякую!
Цей коментар був мінімізований модератором на сайті
Привіт, вибачте за оновлення, код працює дуже добре, дякую. Я просто хочу додати ще одну перевірку, якщо це можливо. Чи можна перевірити клітинку зліва, якщо вона містить певне значення. В основному мені потрібно: якщо клітинка ліворуч містить N, то ця клітинка в діапазоні має бути введена як дата. Якщо клітинка зліва має значення Y, то ця клітинка повинна залишатися порожньою.
There are no comments posted here yet
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0   Персонажі
Рекомендовані місця