FREE Excel STUFF
SearchSearch Excel Content
Excel Help. Popular
NEW! Multiple Excel Search & Links
Excel Formulas
Excel Macros
Excel Newsletter
PRODUCTS
Up to $139.00 FREE!
Categories & SearchSearch for software
Excel Templates
Excel Add-ins
Excel Training
More....
OTHER
Excel Development


Mask Date Entry in Excel


NEW! More Books..
Add to Google advanced search! Free Help!

Add Excel Answers & Search To Your Google Toolbar Details

Excel VBA: Mask Date Entry in Excel. Enter Dates in Excel With Masked Format

Current Special! Complete Excel Excel Training Course for Excel 97 - Excel 2003, only $145.00. $59.95 Instant Buy/Download, 30 Day Money Back Guarantee & Free Excel Help for LIFE!

Mask Excel Date Entries. See Also: Mask Time Entries

Unlike Access, Excel does not allow for us to mask time and/or date entries. However, we can use the Worksheet_Change Event to achieve masked date entries. For the code to work dates should be entered as 6 digits, e.g. 010105, 121206 will change to 01/01/05 and 12/12/06 respectively. Note how the date mask is only applicable to the range A1:A100, but can be any range. You can change the display format (.NumberFormat = "dd/mm/yy") of the code to suit your needs. If using a US date format use.

To insert the code, right click on the Sheet name tab, select View Code and in here paste the code below;

Private Sub Worksheet_Change(ByVal Target As Range)
Dim StrVal As String
Dim dDate As Date

    If Target.Cells.Count > 1 Then Exit Sub
    If Intersect(Target, Range("A1:A100")) Is Nothing Then Exit Sub
     
     With Target
         StrVal = Format(.Text, "000000")
          If IsNumeric(StrVal) And Len(StrVal) = 6 Then
            Application.EnableEvents = False
            
            If Application.International(xlDateOrder) = 1 Then 'dd/mm/yy
                dDate = DateValue(Left(StrVal, 2) & "/" & Mid(StrVal, 3, 2) & "/" & Right(StrVal, 2))
            Else 'mm/dd/yy
                dDate = DateValue(Mid(StrVal, 3, 2) & "/" & Left(StrVal, 2) & "/" & Right(StrVal, 2))
            End If
            
            .NumberFormat = "dd/mm/yyyy"
            .Value = CDate(DateSerial(Year(dDate), Month(dDate), Day(dDate)))
           
          End If
    End With
           
     Application.EnableEvents = True

End Sub

Excel Dashboard Reports & Excel Dashboard Charts 50% Off

Special! Free Choice of Complete Excel Training Course OR Excel Add-ins Collection on all purchases totaling over $64.00. ALL purchases totaling over $150.00 gets you BOTH! Purchases MUST be made via this site. Send payment proof to special@ozgrid.com 31 days after purchase date.


Instant Download and Money Back Guarantee on Most Software

Excel Trader Package Technical Analysis in Excel With $139.00 of FREE software!

Add to Google Search Tips FREE Excel Help

Microsoft ® and Microsoft Excel ® are registered trademarks of Microsoft Corporation. OzGrid is in no way associated with Microsoft