How to allow only date format in specific cells?
How could you restrict a list of cells to only allow entering date format in Excel worksheet? In this article, I will talk about some interesting tricks for dealing with this job.
Allow only date format in specific cells with Data Validation function
Allow only date format in specific cells with VBA code
Allow only date format in specific cells with Data Validation function
In Excel, the Data Validation is a powerful function which can help you to create drop down list, to prevent duplicate entries, etc. It also can help you to prevent entering other data format but only date format in specific cells. Please do with following steps:
1. Click Data > Data Validation > Data Validation, see screenshot:
2. In the Data Validation dialog box, click Settings tab, and then choose Custom from the Allow drop down list, then enter this formula: =AND(ISNUMBER(B2),LEFT(CELL("format",B2),1)="D") into the Formula text box, see screenshot:
Note: In the above formula, B2 is the first cell of the column which you want to restrict the data format.

3. Then go on clicking Error Alert tab in the dialog box, please do the following operations:
(1.) Check Show error alert after invalid data is entered option;
(2.) Under the Style drop down, please select Stop option;
(3.) Type the Title and Error message that you want to display in the prompt box.
4. After finishing the settings, click OK button, and now, when you enter the data which is not real date format, a prompt box will pop out to remind you as following screenshot shown:
Allow only date format in specific cells with VBA code
The second method, I will introduce a VBA code for you.
1. Activate the worksheet that you want to use.
2. Then right click the sheet tab, and select View Code from the context menu, see screenshot:
3. In the displayed Microsoft Visual Basic for Applications window, copy and paste the below code into the Module, see screenshot:
VBA code: Only allow date format entering in specific cells:
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
4. Then save ad close the code, now, when you enter the value which is not date format in range B2:B12, a prompt box will pop out to remind you, and the cell value will be cleared at the same time, see screenshot:
Best Office Productivity Tools
Supercharge Your Spreadsheets: Experience Efficiency Like Never Before with Kutools for Excel
Kutools for Excel boasts over 300 features, ensuring that what you need is just a click away...
Supports Office/Excel 2007-2021 & newer, including 365 | Available in 44 languages | Enjoy a full-featured 30-day free trial.
Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier
- Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
- Open and create multiple documents in new tabs of the same window, rather than in new windows.
- Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!











