Καλημέρα
Αυτό είναι σύνηθες φαινόμενο και πρέπει να κάνουμε κάποια πράγματα,
για να αντιμετωπίσουμε την
λάθος εισαγωγή ημερομηνιών που θα μπορούσε ο μήνας να είναι ημέρα ή και αντίστροφα...
πχ 5/1/2016 με 1/5/2016 - 3/5/2016 με 5/3/2016 κλπ
Όπως βλέπουμε στην εικόνα, έχουμε μια φόρμα (1) συνδεδεμένη σε ένα κουμπί (2).
Σε ένα TextBox έστω TextBox1 βάζουμε ημερομηνία πχ 3/5/2016
Για να εμφανίσει και το κελί την
ίδια ημερομηνία (και όχι 5/3/2016) έχουμε:
Κώδικας:
ActiveCell.NumberFormat = "d/m/yyyy"
ActiveCell.Value = CDate(Me.TextBox1.Text)
Η
πρώτη γραμμή μορφοποιεί το κελί του φύλλου
Η
δεύτερη εισάγει την ημερομηνία σωστά.
Οι πιο πάνω γραμμές αφορούν το εκάστοτε
ενεργό κελί
Οι παρακάτω το
κελί A1 Κώδικας:
Sheet1.Cells(1, 1).NumberFormat = "d/m/yyyy"
Sheet1.Cells(1, 1).Value = CDate(Me.TextBox1.Text)
*Όπου Sheet1 το κωδικό όνομα του φύλλου.
Παρατηρήσεις:
1.
Διορθώστε ανάλογα με τον
προορισμό
2. Μπορείτε ακόμα να χρησιμοποιήσετε και Range("a1")
3. Η μορφοποίηση μπορεί να αλλάξει ανάλογα με τις ανάγκες μας
πχ
dd/mm/yyyy για 03/05/2016 ή dd-mmm-yyyy για 03-Μαι-2016
Σημειώσεις:
1.
Κάποιοι πιθανόν να θεωρήσουν περιττή την πρώτη γραμμή και
να μορφοποιήσουν απ' ευθείας τα κελιά του φύλλου με ημερομηνία.
Προσωπική άποψη να την βάλετε...
2.
Η ημερομηνία πρέπει να είναι έγκυρη (και όχι πχ 30/2/2016)
3.
Ακόμα θα έπρεπε να υπάρχουν και έλεγχοι,
αν για παράδειγμα κάποιος πληκτρολογήσει κείμενο στο textBox εκ παραδρομής κλπ
οπότε για να είναι το έργο πλήρες θέλει και κάποια ακόμη πραγματάκια