VBA Μετατροπή συμβολοσειράς σε ημερομηνία

Πίνακας περιεχομένων

Αυτό το σύντομο σεμινάριο θα δείξει πώς να μετατρέψετε μια συμβολοσειρά σε ημερομηνία στο VBA.

Οι ημερομηνίες στο Excel αποθηκεύονται ως αριθμοί και στη συνέχεια διαμορφώνονται ώστε να εμφανίζονται ως ημερομηνία. Η ημέρα 1 στον κόσμο του Excel ήταν η 1η Ιανουαρίου 1900 (προεπιλογή των Windows) ή η 1η Ιανουαρίου 1904 (προεπιλογή Macintosh) - που σημαίνει ότι η 5η Αυγούστου 2022 είναι ημέρα 44413 από την 1η Ιανουαρίου 1900. Για να μετατρέψετε μια συμβολοσειρά σε ημερομηνία στο Excel , πρέπει πρώτα να μετατρέψουμε τη συμβολοσειρά σε έναν αριθμό και, στη συνέχεια, να τον μετατρέψουμε σε ημερομηνία.

Συνάρτηση CDate

Μπορούμε να χρησιμοποιήσουμε μια συνάρτηση που ονομάζεται CDate στο VBA για να μετατρέψουμε μια συμβολοσειρά σε ημερομηνία.

1234567 Sub ConvertDate ()Dim dte Ως SingleDim strD As StringstrD = "05/10/2020"dte = CDate (strD)MsgBox dteΤέλος υπο

Καθώς έχουμε δηλώσει μια αριθμητική μεταβλητή (dte ως Single), το msgbox θα επιστρέψει τον αριθμό που αναφέρεται στην ημερομηνία που έχει εισαχθεί.

Είναι σημαντικό να εισάγουμε το έτος χρησιμοποιώντας και τα 4 ψηφία του έτους (δηλαδή 2022 και όχι μόνο 20), διαφορετικά ο αριθμός που επιστρέφεται μπορεί να μην είναι ο αναμενόμενος. Το Excel δεν ερμηνεύει το έτος της ημερομηνίας - αυτό ελέγχεται από τον Πίνακα Ελέγχου του υπολογιστή μας.

Ωστόσο, εάν δηλώσουμε τις μεταβλητές ως μεταβλητή ημερομηνίας, το πλαίσιο μηνυμάτων θα επιστρέψει τον αριθμό που μετατράπηκε σε ημερομηνία.

1234567 Sub ConvertDate ()Dim dte As DateDim strD As StringstrD = "05/10/2020"dte = CDate (strD)MsgBox dteΤέλος υπο

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

1234567 Sub ConvertDate ()Dim dte As StringDim strD As StringstrD = "05/10/2020"dte = Μορφή (CDate (strD), "dd mmmm εεεε")MsgBox dteΤέλος υπο

Σε αυτό το παράδειγμα, μετατρέπουμε τη συμβολοσειρά σε ημερομηνία και, στη συνέχεια, ξανά σε μια συμβολοσειρά!

Αν παραλείψουμε εντελώς το έτος, το Excel αναλαμβάνει το τρέχον έτος.

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave