Ugrás a tartalomra

Hogyan engedélyezhetünk csak dátumformátumot bizonyos cellákban?

Hogyan korlátozhatná a cellák listáját, hogy csak a dátumformátumot adja meg az Excel munkalapon? Ebben a cikkben érdekes trükkökről fogok beszélni ennek a munkának a kezelésében.

Csak dátumformátum engedélyezése az Adatellenőrzés funkcióval rendelkező cellákban

Csak dátumformátumot engedélyezhet VBA kóddal rendelkező cellákban


nyíl kék jobb buborék Csak dátumformátum engedélyezése az Adatellenőrzés funkcióval rendelkező cellákban

Az Excelben a adatok ellenőrzése egy hatékony funkció, amely segíthet a legördülő lista létrehozásában, az ismétlődő bejegyzések stb. megakadályozásában. Segíthet megakadályozni más adatformátum beírását is, de csak dátumformátumot adott cellákban. Kérjük, tegye a következőket:

1. Kattints dátum > adatok ellenőrzése > adatok ellenőrzése, lásd a képernyőképet:

doc engedélyezze az 1. dátumot

2. Az adatok ellenőrzése párbeszédpanelen kattintson a gombra beállítások fülre, majd válassza a lehetőséget szokás tól Hagyjuk legördülő listából, majd írja be ezt a képletet: = ÉS (SZÁM (B2), BAL (CELL ("formátum", B2), 1) = "D") be a Képlet szövegmező, lásd a képernyőképet:

doc engedélyezze az 2. dátumot

Megjegyzések: A fenti képletben B2 az oszlop első cellája, amelyben korlátozni kívánja az adatformátumot.

doc engedélyezze az 3. dátumot

3. Ezután folytassa a kattintással Hiba figyelmeztetés a párbeszédpanelen kattintson a következő műveletekre:

(1.) Ellenőrizze Hiba figyelmeztetés megjelenítése érvénytelen adatok megadása után választási lehetőség;

(2.) A Stílus legördülő menüből válassza ki megáll választási lehetőség;

(3.) Írja be a Cím és a Error message amelyet meg akar jeleníteni a prompt dobozban.

4. A beállítások elvégzése után kattintson a gombra OK gombra, és most, amikor nem valós dátumformátumú adatokat ad meg, megjelenik egy felszólító mező, amely emlékezteti Önt a következő képernyőkép szerint:

doc engedélyezze az 4. dátumot


nyíl kék jobb buborék Csak dátumformátumot engedélyezhet VBA kóddal rendelkező cellákban

A második módszer egy VBA kódot vezet be az Ön számára.

1. Aktiválja a használni kívánt munkalapot.

2. Ezután kattintson a jobb gombbal a lap fülre, és válassza a lehetőséget Kód megtekintése a helyi menüből lásd a képernyőképet:

doc engedélyezze az 5. dátumot

3. A megjelenített képernyőn Microsoft Visual Basic for Applications ablakba másolja és illessze be az alábbi kódot a Modulok, lásd a képernyőképet:

VBA kód: Csak meghatározott cellákba történő bevitel engedélyezhető:

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 engedélyezze az 6. dátumot

4. Ezután mentse a hirdetést bezárja a kódot. Most, amikor megadja a nem dátumformátumú értéket a B2: B12 tartományban, megjelenik egy figyelmeztető mező, amely emlékezteti Önt, és a cella értéke egyidejűleg törlődik, lásd a képernyőképet:

doc engedélyezze az 7. dátumot

A legjobb irodai hatékonyságnövelő eszközök

Népszerű szolgáltatások: Ismétlődések keresése, kiemelése vagy azonosítása   |  Üres sorok törlése   |  Oszlopok vagy cellák kombinálása adatvesztés nélkül   |   Kerek Formula nélkül ...
Szuper keresés: Több kritérium VLookup    Többértékű VLookup  |   VLookup több munkalapon   |   Fuzzy Lookup ....
Speciális legördülő lista: Gyors legördülő lista létrehozása   |  Függő legördülő lista   |  Többszörösen válassza ki a legördülő listát ....
Oszlopkezelő: Adjon meg egy adott számú oszlopot  |  Oszlopok mozgatása  |  Kapcsolja be a Rejtett oszlopok láthatósági állapotát  |  Tartományok és oszlopok összehasonlítása ...
Kiemelt funkciók: Rács fókusz   |  Design nézet   |   Nagy Formula bár    Munkafüzet és lapkezelő   |  Erőforrás-könyvtár (Auto szöveg)   |  Dátumválasztó   |  Kombinálja a munkalapokat   |  Cellák titkosítása/dekódolása    E-mailek küldése listánként   |  Szuper szűrő   |   Speciális szűrő (félkövér/dőlt/áthúzott szűrés...) ...
A 15 legjobb eszközkészlet12 szöveg Eszközök (Szöveg hozzáadása, Karakterek eltávolítása,...)   |   50 + Táblázatos Típusai (Gantt-diagram,...)   |   40+ Praktikus képletek (Számolja ki az életkort a születésnap alapján,...)   |   19 beszúrás Eszközök (Helyezze be a QR-kódot, Kép beszúrása az útvonalból,...)   |   12 Átalakítás Eszközök (Számok szavakig, Valuta átváltás,...)   |   7 Egyesítés és felosztás Eszközök (Haladó kombinált sorok, Hasított sejtek,...)   |   ... és több

Töltsd fel Excel-készségeidet a Kutools for Excel segítségével, és tapasztald meg a még soha nem látott hatékonyságot. A Kutools for Excel több mint 300 speciális funkciót kínál a termelékenység fokozásához és az időmegtakarításhoz.  Kattintson ide, hogy megszerezze a leginkább szükséges funkciót...

kte lap 201905


Az Office lap füles felületet hoz az Office-ba, és sokkal könnyebbé teszi a munkáját

  • Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
  • Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
  • 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!

 

Comments (11)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Buenos dias

Estoy utilizando la formula en la validación de datos pero no me deja ingresar ningún formato de fecha, me puede explicar por favor

Muchas gracias
This comment was minimized by the moderator on the site
Hi I want to restrict the Date Format in DD.MM.YYYY in excel
May please suggest
This comment was minimized by the moderator on the site
Hello, Ramesh
To restrict the Date Format in DD.MM.YYYY, you can apply the below code:
Note: Please change the cell reference B2:B12 to your own list of cell.
Private Sub Worksheet_Change(ByVal Target As Range)
'updateby Extendoffice
    On Error Resume Next
    
    Dim Bool As Boolean
    Dim Rg As Range
    Dim xRegEx As Object
    
    Bool = False

    Set Rg = Application.Intersect(Target, ActiveSheet.Range("B2:B12"))
    If Rg Is Nothing Then Exit Sub

    Set xRegEx = CreateObject("VBSCRIPT.REGEXP")
    With xRegEx
        .Pattern = "^[0-3]\d\.[0-1][0-2]\.\d{4}$"
        .Global = True
        .IgnoreCase = True
    End With
    
    Application.EnableEvents = False
    For Each c In Target
        If c.Value <> "" Then
            If Not xRegEx.test(c.Text) Then
                c.ClearContents
                Bool = True
            End If
        End If
    Next c
    Application.EnableEvents = True
    If Bool Then
        MsgBox "Error date format."
    End If
End Sub


Please have a try, hope it can help you!
This comment was minimized by the moderator on the site
Hello,Sorry for refreshing, the code works very nice, thank you. I just want to add one more check if its possible.Is it possible to check cell on the left if it contain certain value. Basically what I need is: if cell on the left contain N then that cell in range have to be input as a date.If cell on the left is Y then that cell needs to stay blank.
This comment was minimized by the moderator on the site
How can I oblige to enter a time? (hh:mm)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 <----------------------------And Not isTime(c) doesn't work!
c.ClearContents
MsgBox "Only a date format is permitted in this cell."
End If
Next c
End Sub
This comment was minimized by the moderator on the site
Hello, Roberto,

To only allow time format to be entered, you should apply the below code:



Private Sub Worksheet_Change(ByVal Target As Range)

'updateby Extendoffice

Dim xArr As Variant

Dim xF As Integer

Dim xB As Boolean

Dim xWRg, xCRg As Range

Set xWRg = ActiveSheet.Range("B2:B20")

For Each xCRg In xWRg

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

xB = False

If UBound(xArr) <= 2 Then

For xF = LBound(xArr) To UBound(xArr)

If IsNumeric(xArr(xF)) Then

If xF = 0 Then

If (xArr(xF) > 0) And (xArr(xF) < 24) Then

Else

xB = True

GoTo BTime

End If

Else

If (xArr(xF) > 0) And (xArr(xF) < 60) Then

Else

xB = True

GoTo BTime

End If

End If

Else

xB = True

GoTo BTime

End If

Next

Else

MsgBox "Only a time format is permitted in this cell."

xCRg.ClearContents

End If

BTime:

If xB Then

MsgBox "Only a time format is permitted in this cell."

xCRg.ClearContents

End If

Next xCRg

End Sub



Please try it, thank you!
This comment was minimized by the moderator on the site
Thank 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!
This comment was minimized by the moderator on the site
Hello, 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
c.ClearContents
MsgBox "Only a date format is permitted in this cell."
End If
Next c
End Sub

Please try, hope it can help you!
This comment was minimized by the moderator on the site
Thanks a lot @skyyang, really appreciate your help :)
This comment was minimized by the moderator on the site
how to add a date validation for date format "DD-mmm-yyy" (15-Dec-2018) like this
This comment was minimized by the moderator on the site
which date format is this function allowed. It is not working for some dates
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations