Επιλογή ημερομηνίας Excel | Πώς να εισαγάγετε την επιλογή ημερομηνίας (Ημερολόγιο) στο Excel;

Πώς να εισαγάγετε την επιλογή ημερομηνίας στο Excel;

Για να εισαγάγουμε το Drop Down Calendar, θα χρησιμοποιήσουμε ένα στοιχείο ελέγχου ActiveX  που είναι «Microsoft Date and Time Picker Control 6.0 (SP6)» .

Μπορείτε να κατεβάσετε αυτό το Πρότυπο επιλογής ημερομηνίας Excel εδώ - Πρότυπο ημερομηνίας επιλογής Excel

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

  • Κωδικός Emp
  • Emp όνομα
  • Ημερομηνία συμμετοχής Emp
  • Τμήμα Emp

Για να εισαγάγετε δεδομένα στο MS Excel, δημιουργήσαμε την ακόλουθη μορφή.

Για να εισαγάγετε την Ημερομηνία Συμμετοχής Emp, πρέπει να δημιουργήσουμε ένα αναπτυσσόμενο ημερολόγιο, ώστε να είναι ευκολότερο για τον χρήστη να εισάγει ημερομηνίες συμμετοχής.

Για να δημιουργήσετε ένα αναπτυσσόμενο ημερολόγιο, δίνονται παρακάτω βήματα - 

Πρέπει να εισαγάγουμε ένα "στοιχείο ελέγχου ActiveX" με το όνομα "Microsoft Date and Time Picker Control 6.0 (SP6)" . Για εισαγωγή, θα χρησιμοποιήσουμε την εντολή «Εισαγωγή» στην ομάδα «Έλεγχοι» στο «Προγραμματιστής»

Εάν η καρτέλα «Προγραμματιστής» δεν είναι ορατή, ακολουθούν τα βήματα που πρέπει να ακολουθήσετε για να κάνετε το ίδιο ορατό.

  • Βήμα 1: Κάτω από το μενού "Αρχείο" , επιλέξτε "Επιλογές"

  • Βήμα 2: Θα ανοίξει ένα παράθυρο διαλόγου με το όνομα «Επιλογές Excel» . Επιλέξτε "Προσαρμογή κορδέλας" από την αριστερή άκρη του πλαισίου διαλόγου. Πλαίσιο ελέγχου για την καρτέλα «Προγραμματιστής» και κάντε κλικ στο «ΟΚ» .

  • Βήμα 3: Τώρα μπορούμε να δούμε την καρτέλα «Προγραμματιστής» στο τέλος της κορδέλας.

  • Βήμα 4: Επιλέξτε "Περισσότερα στοιχεία ελέγχου" από τα στοιχεία ελέγχου ActiveX.

  • Βήμα 5: Επιλέξτε "Microsoft Date and Time Picker Control 6.0 (SP6)" από τη λίστα και κάντε κλικ στο "OK" .

  • Βήμα 6: Κάντε κλικ οπουδήποτε στο φύλλο εργασίας για να δημιουργήσετε το αναπτυσσόμενο ημερολόγιο.

  • Βήμα 7: Κάντε δεξί κλικ στο "Date Picker" και επιλέξτε "Properties" από τη λίστα.

  • Βήμα 8: Αλλάξτε την τιμή από "False" σε "True" για την ιδιότητα "CheckBox", ώστε να είναι επίσης αποδεκτές οι τιμές null. Κλείστε το παράθυρο διαλόγου "Ιδιότητες" .

  • Βήμα 9: Κάντε δεξί κλικ στο Date Picker ξανά και επιλέξτε «Προβολή κώδικα» από το μενού με βάση τα συμφραζόμενα.

  • Βήμα 10: Στο "Visual Basic Editor" , μπορούμε να δούμε ότι κάποιος κώδικας είναι ήδη γραμμένος. Αντικαταστήστε τον κωδικό με τον ακόλουθο κωδικό.

Κώδικας:

 Private Sub Workshe__SelectionChange (ByVa l Target As Range) With Sheet1.DTPicker1 .Height = 20 .Width = 20 If Not Intersect (Target, Range ("C: C")) is not τίποτα τότε .Visible = True .Top = Target.Top .Left = Target.Offset (0, 1). Left .LinkedCell = Target.Address Else .Visible = False End if End with End Sub 

  • Βήμα 11: Η πρώτη δήλωση στον κώδικα λέει στο MS Excel Compiler να εκτελεί τον κώδικα κάθε φορά που επιλέγεται ένα νέο κελί (Η επιλογή αλλάζει). Το επιλεγμένο κελί αποστέλλεται στη διαδικασία Sub ως «Στόχος» .
 Private Sub Worksheet_SelectionChange (Στόχος ByVal ως εύρος)
  • Βήμα 12: Αυτές οι δηλώσεις ορίζουν το ύψος και το πλάτος της επιλογής ημερομηνιών σε 20 βαθμούς στο excel. Μπορεί να παρατηρηθεί ότι έχουμε χρησιμοποιήσει τον τελεστή «With» , ώστε να μην χρειάζεται να αναφερόμαστε ξανά στο DTPicker1 .
 Με το Sheet1.DTPicker1. Ύψος = 20. Πλάτος = 20
  • Βήμα 13: Η ακόλουθη ρήτρα «Εάν» ορίζει τα κριτήρια ότι εάν επιλεγεί οποιοδήποτε κελί στη στήλη «Γ» , μόνο τότε το Date Picker αποκτά ορατότητα. Έχουμε χρησιμοποιήσει τη συνάρτηση «Intersect» καθώς αυτή η συνάρτηση ελέγχει αν έχουμε επιλέξει οποιοδήποτε κελί στη στήλη C, τότε αυτή η συνάρτηση θα επιστρέψει τη διεύθυνση, διαφορετικά η τιμή θα ήταν μηδενική.
 Εάν δεν είναι τεμνόμενος (στόχος, εύρος ("C: C")) δεν είναι τίποτα τότε. Ορατό = True 
  • Βήμα 14: Η ιδιότητα "Top" του Date Picker ορίζεται ως ίση με την τιμή "Top" ιδιότητας του επιλεγμένου κελιού. Αυτό σημαίνει ότι αυτό θα συμβαδίζει με το άνω περίγραμμα του επιλεγμένου κελιού.
.Top = Target.Top
  • Βήμα 15: Αυτή η δήλωση ορίζει την αριστερή ιδιότητα του Επιλογέα ημερομηνίας ίση με εκείνη του επόμενου δεξιού κελιού του επιλεγμένου κελιού (Απόσταση αριστερού περιγράμματος της στήλης D από την άκρη αριστερά του φύλλου εργασίας). Για να λάβουμε την αναφορά του επόμενου δεξιού κελιού, χρησιμοποιήσαμε τη συνάρτηση "Offset" με 0 ως όρισμα σειράς και 1 ως όρισμα στήλης καθώς αυτό θα πάρει μια αναφορά στο κελί στην επόμενη στήλη.
.Left = Target.Offset (0, 1). Αριστερά
  • Βήμα 16: Αυτή η δήλωση συνδέει την Επιλογή ημερομηνίας με το κελί προορισμού, έτσι ώστε όποια τιμή έχει επιλεγεί στο αναπτυσσόμενο ημερολόγιο που εμφανίζεται στο κελί.
.LinkedCell = Target.Address
  • Βήμα 17: Η δήλωση «Else» λέει στον μεταγλωττιστή να μην εμφανίζει την Επιλογή ημερομηνίας όταν έχει επιλεγεί οποιοδήποτε κελί εκτός από αυτό στη στήλη Γ.
Αλλιώς. Ορατό = Λάθος
  • Βήμα 18: Στο τέλος, κλείνουμε το "If"
 Τέλος εαν 
  • Βήμα 19: Επιτέλους, πρέπει να κλείσουμε το "With"
 Τερματισμός με 
  • Βήμα 20: Τώρα, η διαδικασία θα τελειώσει.
 Τέλος Υποτ 

Βεβαιωθείτε ότι αποθηκεύουμε το αρχείο με επέκταση «.xlsm» καθώς αποθηκεύει τον κώδικα VBA που έχουμε γράψει και θα είμαστε σε θέση να εκτελέσουμε αυτόν τον κώδικα όταν επιλεγεί οποιοδήποτε κελί στη στήλη C.

Τώρα όποτε επιλέγουμε οποιοδήποτε κελί στη στήλη 'C', μπορούμε να δούμε ένα αναπτυσσόμενο ημερολόγιο στην επάνω δεξιά γωνία του επιλεγμένου κελιού. Μπορούμε να ανοίξουμε το αναπτυσσόμενο ημερολόγιο κάνοντας κλικ στο σύμβολο του κάτω βέλους.

Πρέπει να κάνουμε κλικ σε οποιαδήποτε ημερομηνία στο ημερολόγιο του επιλεγμένου μήνα για να εισαγάγουμε αυτήν την ημερομηνία στο επιλεγμένο κελί.

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

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

Μπορούμε επίσης να αλλάξουμε το έτος κάνοντας κλικ στο έτος και στη συνέχεια χρησιμοποιώντας τα πάνω και κάτω βέλη για να επιλέξουμε το απαιτούμενο.

Πράγματα που πρέπει να θυμάστε

  • Το "Microsoft Date and Time Picker Control 6.0 (SP6)" δεν είναι διαθέσιμο για την έκδοση 64-bit του MS Excel.
  • Αφού γράψουμε τον κώδικα VBA, πρέπει να αποθηκεύσουμε το αρχείο με την επέκταση «.xlsm» (Excel Macro-Enabled Workbook), διαφορετικά ο κώδικας VBA δεν θα εκτελείται.