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

Cum se permite doar formatul de dată în celule specifice?

Cum ați putea restricționa o listă de celule pentru a permite introducerea formatului de dată numai în foaia de lucru Excel? În acest articol, voi vorbi despre câteva trucuri interesante pentru a face față acestei meserii.

Permiteți doar formatul de dată în celule specifice cu funcția de validare a datelor

Permiteți doar formatul de dată în celule specifice cu cod VBA


săgeată albastru dreapta balon Permiteți doar formatul de dată în celule specifice cu funcția de validare a datelor

În Excel, fișierul Data validarii este o funcție puternică care vă poate ajuta să creați o listă derulantă, să preveniți intrări duplicate, etc. De asemenea, vă poate ajuta să preveniți introducerea altui format de date, dar numai format de dată în celule specifice. Vă rugăm să efectuați pașii următori:

1. Clic Date > Data validarii > Data validarii, vezi captura de ecran:

doc permite data 1

2. În Data validarii casetă de dialog, faceți clic pe setări cont , apoi alegeți Obicei de la Permite lista derulantă, apoi introduceți această formulă: = AND (ISNUMBER (B2), STÂNGA (CELL ("format", B2), 1) = "D") în Formulă casetă text, vezi captura de ecran:

doc permite data 2

notițe: În formula de mai sus, B2 este prima celulă a coloanei pe care doriți să restricționați formatul de date.

doc permite data 3

3. Apoi continuați să faceți clic Alertă de eroare filă din caseta de dialog, vă rugăm să efectuați următoarele operații:

(1.) Verificați Afișați alerta de eroare după introducerea datelor nevalide opțiune;

(2.) Sub Stil derulează, selectează Stop opțiune;

(3.) Tastați Titlu și Mesaj de eroare pe care doriți să o afișați în caseta de solicitare.

4. După terminarea setărilor, faceți clic pe OK buton, iar acum, când introduceți datele care nu sunt în format de dată real, va apărea o casetă de prompt pentru a vă reaminti după cum se arată în următoarea captură de ecran:

doc permite data 4


săgeată albastru dreapta balon Permiteți doar formatul de dată în celule specifice cu cod VBA

A doua metodă, vă voi introduce un cod VBA.

1. Activați foaia de lucru pe care doriți să o utilizați.

2. Apoi faceți clic dreapta pe fila foi și selectați Afișați codul din meniul contextual, vezi captura de ecran:

doc permite data 5

3. În afișat Microsoft Visual Basic pentru aplicații fereastra, copiați și lipiți codul de mai jos în Module, vezi captura de ecran:

Cod VBA: Permiteți doar formatul de dată care intră în celule specifice:

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 permite data 6

4. Apoi salvați anunțul închideți codul, acum, când introduceți valoarea care nu este formatul datei în intervalul B2: B12, va apărea o casetă de prompt pentru a vă reaminti, iar valoarea celulei va fi ștearsă în același timp, a se vedea captura de ecran:

doc permite data 7


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab

 

Comentarii (11)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
ce format de dată este permisă această funcție. Nu funcționează pentru anumite date
Acest comentariu a fost redus la minimum de moderatorul de pe site
cum să adăugați o validare a datei pentru formatul de dată „DD-mmm-aaa” (15-dec-2018) ca acesta
Acest comentariu a fost redus la minimum de moderatorul de pe site
Vă mulțumesc foarte mult, pentru ca codul VBA să fie aplicat pe mai multe coloane, vă rugăm să furnizați formula?... Am încercat, dar am primit o eroare 405!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Kevin,
Pentru a aplica codul pentru mai multe intervale, trebuie doar să adăugați referințele de celule în cod, după cum urmează:

Subsol de lucrări private_Change (țintă ByVal ca rază de acțiune)
Set w = ActiveSheet.Range("B2:B12,A1:A10,C5:C20")
Pentru fiecare c In w
Dacă c.Value <> "" și nu IsDate(c) atunci
c.ClearContents
MsgBox „În această celulă este permis doar un format de dată.”
Final, dacă
Următorul c
End Sub

Vă rugăm să încercați, sper că vă poate ajuta!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc mult @skyyang, apreciez foarte mult ajutorul tău :)
Acest comentariu a fost redus la minimum de moderatorul de pe site
Cum pot obliga să introduc un timp? (hh:mm)Private Sub Worksheet_Change(ByVal Target As Range)
'updateby Extendoffice 20150530
Set w = ActiveSheet.Range("B2:B12")
Pentru fiecare c In w
Dacă c.Value <> "" și nu IsDate(c) atunci <---------------------------Și nu isTime(c) nu merge!
c.ClearContents
MsgBox „În această celulă este permis doar un format de dată.”
Final, dacă
Următorul c
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut, Roberto,

Pentru a permite doar introducerea formatului de timp, ar trebui să aplicați codul de mai jos:



Subsol de lucrări private_Change (țintă ByVal ca rază de acțiune)

'updateby Extendoffice

Dim xArr ca variantă

Dim xF ca întreg

Dim xB ca boolean

Dim xWRg, xCRg As Range

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

Pentru fiecare xCRg în xWRg

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

xB = Fals

Dacă UBound(xArr) <= 2 Atunci

Pentru xF = LBound(xArr) La UBound(xArr)

Dacă IsNumeric(xArr(xF)) Atunci

Dacă xF = 0, atunci

Dacă (xArr(xF) > 0) și (xArr(xF) < 24) atunci

Altfel

xB = Adevărat

GoTo BTime

Final, dacă

Altfel

Dacă (xArr(xF) > 0) și (xArr(xF) < 60) atunci

Altfel

xB = Adevărat

GoTo BTime

Final, dacă

Final, dacă

Altfel

xB = Adevărat

GoTo BTime

Final, dacă

Pagina Următoare →

Altfel

MsgBox „În această celulă este permis doar un format de timp.”

xCRg.ClearContents

Final, dacă

BTime:

Dacă xB Atunci

MsgBox „În această celulă este permis doar un format de timp.”

xCRg.ClearContents

Final, dacă

Următorul xCRg

End Sub



Vă rugăm să încercați, vă mulțumesc!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Îmi pare rău pentru reîmprospătare, codul funcționează foarte bine, mulțumesc. Vreau doar să adaug încă o verificare dacă este posibil. Este posibil să verific celula din stânga dacă conține o anumită valoare. Practic, ceea ce am nevoie este: dacă celula din stânga conține N, atunci celula din interval trebuie introdusă ca dată. Dacă celula din stânga este Y, atunci celula respectivă trebuie să rămână goală.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, vreau să restricționez formatul datei în ZZ.LL.AAAA în Excel
Vă rugăm să sugerați
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Ramesh
Pentru a restricționa formatul datei în ZZ.LL.AAAA, puteți aplica codul de mai jos:
notițe: Vă rugăm să schimbați referința celulei B2: B12 la propria ta listă de celule.
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


Vă rugăm să încercați, sper că vă poate ajuta!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună dimineața

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

Mulţumesc mult
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL