Πώς να μορφοποιήσετε την ημερομηνία με VBA στο Excel (4 μέθοδοι)

  • Μοιραστείτε Αυτό
Hugh West

Εφαρμογή του Μακροεντολή VBA είναι η πιο αποτελεσματική, ταχύτερη και ασφαλέστερη μέθοδος για την εκτέλεση οποιασδήποτε λειτουργίας στο Excel. Σε αυτό το άρθρο, θα σας δείξουμε πώς να μορφοποιήσετε την ημερομηνία στο Excel χρησιμοποιώντας το VBA .

Λήψη βιβλίου εργασίας

Μπορείτε να κατεβάσετε το δωρεάν βιβλίο ασκήσεων Excel από εδώ.

Μορφοποίηση ημερομηνίας με VBA.xlsm

4 μέθοδοι για τη μορφοποίηση ημερομηνίας στο Excel με VBA

Κοιτάξτε το ακόλουθο παράδειγμα. Αποθηκεύσαμε τις ίδιες ημερομηνίες και στις δύο Στήλη Β και C έτσι ώστε όταν μορφοποιούμε την ημερομηνία στο Στήλη Γ , θα ξέρετε από το Στήλη Β σε ποια μορφή ήταν η ημερομηνία πριν.

1. VBA για τη μορφοποίηση ημερομηνίας από έναν τύπο σε άλλον στο Excel

Πρώτα ας μάθουμε πώς να μορφοποιήσουμε την ημερομηνία από το Κύτταρο C5 στο δεδομένο σύνολο δεδομένων μας με VBA στο " Τρίτη-Ιανουάριος-2022 ".

Βήματα:

  • Τύπος Alt + F11 στο πληκτρολόγιό σας ή πηγαίνετε στην καρτέλα Προγραμματιστής -> Visual Basic για να ανοίξετε Visual Basic Editor .

  • Στο αναδυόμενο παράθυρο κώδικα, από τη γραμμή μενού, κάντε κλικ στην επιλογή Εισαγωγή -> Ενότητα .

  • Αντιγράψτε τον παρακάτω κώδικα και επικολλήστε τον στο παράθυρο κώδικα.
 Sub DateFormat() Range("C5").NumberFormat = "dddd-mmmmmm-yyyy" 'Αυτό θα μορφοποιήσει την ημερομηνία σε "Τρίτη-Ιανουάριος-2022" End Sub 

Ο κώδικάς σας είναι τώρα έτοιμος για εκτέλεση.

  • Τύπος F5 στο πληκτρολόγιό σας ή από τη γραμμή μενού επιλέξτε Εκτέλεση -> Εκτέλεση Sub/UserForm Μπορείτε επίσης να κάνετε κλικ στο μικρό εικονίδιο Play στη γραμμή υπομενού για να εκτελέσετε τη μακροεντολή.

Αυτός ο κώδικας θα μορφοποιήσει την ημερομηνία " 11-01-22 " σε " Τρίτη-Ιανουάριος-2022 ".

Μπορείτε επίσης να μετατρέψετε αυτή τη μορφή ημερομηνίας σε πολλές άλλες μορφές. Απλώς ακολουθήστε τον παρακάτω κώδικα για να μετατρέψετε την ημερομηνία στη μορφή που επιθυμείτε.

 Sub FormatDate() 'Η αρχική ημερομηνία είναι "11-01-22" Range("C5").NumberFormat = "dd-mm-yyy" 'Αυτό θα μορφοποιήσει την ημερομηνία σε "11-01-2022" Range("C6").NumberFormat = "ddd-mm-yyy" 'Αυτό θα μορφοποιήσει την ημερομηνία σε "Tue-11-2022" Range("C7").NumberFormat = "dddd-mm-yyy" 'Αυτό θα μορφοποιήσει την ημερομηνία σε "Tuesday-11-2022" Range("C8").NumberFormat = "dd-mmm-yyy" 'Αυτό θα μορφοποιήσει την ημερομηνία σε"11-Jan-2022" Range("C9").NumberFormat = "dd-mmmm-yyy" 'Αυτό θα μορφοποιήσει την ημερομηνία σε "11-January-2022" Range("C10").NumberFormat = "dd-mmmm-yyy" 'Αυτό θα μορφοποιήσει την ημερομηνία σε "11-01-22" Range("C11").NumberFormat = "ddd mmm yyyy" 'Αυτό θα μορφοποιήσει την ημερομηνία σε "Tue Jan 2022" Range("C12").NumberFormat = "dddd mmmm yyyy" 'Αυτό θα μορφοποιήσει την ημερομηνία σε "Tuesday January 2022" End Sub 

Επισκόπηση

Διαβάστε περισσότερα: Τώρα και συναρτήσεις μορφοποίησης στο Excel VBA

2. Ενσωμάτωση της VBA για τη μετατροπή ημερομηνίας με τη λειτουργία FORMAT

Το Excel έχει το δικό του σειριακό αριθμό όσον αφορά τις μεμονωμένες ημερομηνίες. Αν θέλετε να μάθετε τον σειριακό αριθμό οποιουδήποτε

συγκεκριμένη ημερομηνία, πρέπει να υποβάλλετε αίτηση η συνάρτηση DATEVALUE .

Ας υποθέσουμε ότι θέλετε να μάθετε τον αύξοντα αριθμό της ημερομηνίας " 11 Ιανουαρίου 2022 ", τότε πρέπει να γράψετε τον τύπο ως εξής,

=DATEVALUE("11 Ιανουαρίου 2022")

Το Excel θα σας δώσει τον σειριακό αριθμό 44572 αυτής της ημερομηνίας.

Τώρα θα μετατρέψουμε αυτόν τον αριθμό στην αντίστοιχη μορφή ημερομηνίας.

Βήματα:

  • Με τον ίδιο τρόπο όπως και πριν, ανοίξτε Visual Basic Editor από το Προγραμματιστής και Εισαγωγή a Ενότητα στο παράθυρο κώδικα.
  • Στο παράθυρο κώδικα, αντιγράψτε τον ακόλουθο κώδικα και επικολλήστε τον.
 Sub Format_Date() Dim iDate As Variant iDate = 44572 'Excel αύξων αριθμός της ημερομηνίας "11 Ιανουαρίου 2022" MsgBox Format(iDate, "DD-MMMM-YYYY") End Sub 

Ο κώδικάς σας είναι τώρα έτοιμος για εκτέλεση.

Θα λάβετε την ημερομηνία " 11 Ιανουαρίου 2022 " στο πλαίσιο μηνύματος.

Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε τη συνάρτηση DateValue της VBA στο Excel

Παρόμοιες αναγνώσεις

  • Πώς να εισαγάγετε την τρέχουσα ημερομηνία στο Excel (3 τρόποι)
  • Μεταβλητή ημερομηνίας σε κώδικες VBA (7 χρήσεις μακροεντολών με παραδείγματα)
  • Λήψη της τρέχουσας ημερομηνίας στην VBA (3 τρόποι)
  • Πώς να χρησιμοποιήσετε τη συντόμευση ημερομηνίας του Excel

3. VBA για να μετατρέψετε την ημερομηνία με βάση ένα συγκεκριμένο μέρος στο Excel

Ας υποθέσουμε ότι θέλετε να μορφοποιήσετε ένα συγκεκριμένο μέρος της ημερομηνίας, για παράδειγμα, μόνο την ημέρα/μήνα/έτος, τότε γράψτε τον κώδικα ως εξής,

 Sub Date_Format() Range("C5").NumberFormat = "mmmm" 'Αυτό θα μορφοποιήσει την ημερομηνία σε "Ιανουάριο" End Sub 

Ο κώδικάς σας είναι τώρα έτοιμος για εκτέλεση.

Το " mmmm " σε αυτόν τον κωδικό σημαίνει τη μακρά μορφή του ονόματος του μήνα.

Καθώς η ημερομηνία είναι " 11 Ιανουαρίου 2022 ", οπότε αυτό το κομμάτι κώδικα θα επιστρέψει " Ιανουάριος ".

Μπορείτε να Εφαρμόσετε αυτόν τον κώδικα για να μορφοποιήσετε και να εξάγετε οποιοδήποτε συγκεκριμένο μέρος θέλετε από την ημερομηνία.

 Sub FormatDateValue() 'Η αρχική ημερομηνία είναι "11-01-22" Range("C5").NumberFormat = "dd" 'Αυτό θα μορφοποιήσει την ημερομηνία σε "11" Range("C6").NumberFormat = "ddd" 'Αυτό θα μορφοποιήσει την ημερομηνία σε "Tue" Range("C7").NumberFormat = "dddd" 'Αυτό θα μορφοποιήσει την ημερομηνία σε "Tuesday" Range("C8").NumberFormat = "m" 'Αυτό θα μορφοποιήσει την ημερομηνία σε "1" Range("C9").NumberFormat = "mm" 'Αυτό θαδιαμορφώνει την ημερομηνία σε "01" Range("C10").NumberFormat = "mmm" 'Αυτό θα διαμορφώσει την ημερομηνία σε "Jan" Range("C11").NumberFormat = "yy" 'Αυτό θα διαμορφώσει την ημερομηνία σε "22" Range("C12").NumberFormat = "yyyy" 'Αυτό θα διαμορφώσει την ημερομηνία σε "2022" Range("C13").NumberFormat = "dd-mm" 'Αυτό θα διαμορφώσει την ημερομηνία σε "11-01" Range("C14").NumberFormat = "mm-yyy" 'Αυτό θα διαμορφώσει τοημερομηνία σε "01-2022" Range("C15").NumberFormat = "mmm-yyy" 'Αυτό θα μορφοποιήσει την ημερομηνία σε "Jan-2022" Range("C16").NumberFormat = "dd-yyy" 'Αυτό θα μορφοποιήσει την ημερομηνία σε "11-22" Range("C17").NumberFormat = "ddd yyyy" 'Αυτό θα μορφοποιήσει την ημερομηνία σε "Tue 2022" Range("C18").NumberFormat = "dddd-yyyyy" 'Αυτό θα μορφοποιήσει την ημερομηνία σε "Tuesday-2022" Range("C19").NumberFormat = "dd-mmm"'Αυτό θα μορφοποιήσει την ημερομηνία σε "11-Jan" Range("C20").NumberFormat = "dddd-mmmm" 'Αυτό θα μορφοποιήσει την ημερομηνία σε "Tuesday-January" End Sub 

Επισκόπηση

4. Εισαγωγή VBA για τη μορφοποίηση ημερομηνίας σε ένα συγκεκριμένο φύλλο εργασίας στο Excel

Αν θέλετε να μορφοποιήσετε μια ημερομηνία με βάση ένα συγκεκριμένο φύλλο εργασίας, τότε πρώτα πρέπει να ορίσετε το όνομα του φύλλου εργασίας στον κώδικα και, στη συνέχεια, να μορφοποιήσετε την ημερομηνία σύμφωνα με τον τύπο που θέλετε.

  • Ανοίξτε το Visual Basic Editor από το Προγραμματιστής και Εισαγωγή a Ενότητα στο παράθυρο κώδικα.
  • Στο παράθυρο κώδικα, αντιγράψτε τον ακόλουθο κώδικα και επικολλήστε τον.
 Sub Format_Date() Dim iSheet As Worksheet Set iSheet = ThisWorkbook.Sheets("Example") 'Ορισμός του φύλλου εργασίας με όνομα "Example" iSheet.Range("C5").NumberFormat = "dddd, mmmmdd, yyyy" End Sub 

Ο κώδικάς σας είναι τώρα έτοιμος για εκτέλεση.

Κοιτάξτε την 3η γραμμή του κώδικα όπου πρώτα ορίζουμε το " Παράδειγμα ", τότε διαμορφώστε την ημερομηνία του συγκεκριμένου φύλλου Excel.

Συμπέρασμα

Αυτό το άρθρο σας έδειξε πώς να μορφοποιήσετε την ημερομηνία στο Excel με VBA Ελπίζω αυτό το άρθρο να σας ήταν πολύ χρήσιμο. Μη διστάσετε να ρωτήσετε αν έχετε οποιεσδήποτε ερωτήσεις σχετικά με το θέμα.

Ο Hugh West είναι ένας εξαιρετικά έμπειρος εκπαιδευτής και αναλυτής του Excel με πάνω από 10 χρόνια εμπειρίας στον κλάδο. Είναι κάτοχος πτυχίου Λογιστικής και Χρηματοοικονομικής και μεταπτυχιακού στη Διοίκηση Επιχειρήσεων. Ο Hugh έχει πάθος για τη διδασκαλία και έχει αναπτύξει μια μοναδική προσέγγιση διδασκαλίας που είναι εύκολο να ακολουθηθεί και να κατανοηθεί. Οι εξειδικευμένες γνώσεις του στο Excel έχουν βοηθήσει χιλιάδες φοιτητές και επαγγελματίες παγκοσμίως να βελτιώσουν τις δεξιότητές τους και να διαπρέψουν στην καριέρα τους. Μέσω του ιστολογίου του, ο Hugh μοιράζεται τις γνώσεις του με τον κόσμο, προσφέροντας δωρεάν μαθήματα Excel και διαδικτυακή εκπαίδευση για να βοηθήσει άτομα και επιχειρήσεις να αξιοποιήσουν πλήρως τις δυνατότητές τους.