To post as a guest, your comment is unpublished.· 2 months agoHello, Kevin,
To make the code applied for multiple ranges, you just need to add the cell references into the code as below:
Private Sub Worksheet_Change(ByVal Target As Range)
Set w = ActiveSheet.Range("B2:B12,A1:A10,C5:C20")
For Each c In w
If c.Value <> "" And Not IsDate(c) Then
MsgBox "Only a date format is permitted in this cell."
Please try, hope it can help you!
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.
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:
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 20150530 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:
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
To post as a guest, your comment is unpublished.· 2 months agoThank you so much, for the VBA code to be applied to multiple columns can you please provide the formula?.. I tried but ended up getting a 405 error!
To post as a guest, your comment is unpublished.· 1 years agohow to add a date validation for date format "DD-mmm-yyy" (15-Dec-2018) like this
To post as a guest, your comment is unpublished.· 2 years agowhich date format is this function allowed. It is not working for some dates