Excel Datovelger - Hvordan setter du inn datovelger (kalender) i Excel?

Hvordan setter du inn datovelger i Excel?

For å sette inn rullegardinkalender, bruker vi en ActiveX-kontroll, som er 'Microsoft Date and Time Picker Control 6.0 (SP6)' .

Anta at vi må opprettholde data for ansatte i et selskap. Det er flere felt som

  • Emp-kode
  • Emp-navn
  • Emp Joining Date
  • Emp avdeling

For å legge inn data i MS Excel har vi laget følgende format.

For å oppgi Emp Joining Date, må vi opprette en rullegardinkalender slik at det blir lettere for brukeren å oppgi tilknytningsdatoer.

For å lage en rullegardinkalender, er trinnene gitt nedenfor -

Vi må sette inn en 'ActiveX-kontroll' kalt 'Microsoft Date and Time Picker Control 6.0 (SP6)' . For å sette inn bruker vi kommandoen 'Sett inn' under gruppen 'Kontroller' i 'Utvikleren'.

Hvis kategorien "Utvikler" ikke er synlig, følger du trinnene for å gjøre det samme synlig.

  • Trinn 1: Velg 'Alternativer' under 'Fil' -menyen
  • Trinn 2: En dialogboks kalt 'Excel Options' åpnes. Velg 'Tilpass bånd' fra venstre kant av dialogboksen. Avkrysningsruten for fanen "Utvikler" og klikk på "OK".
  • Trinn 3: Nå kan vi se kategorien 'Utvikler' til siste på båndet.
  • Trinn 4: Velg 'Flere kontroller' fra ActiveX-kontroller.
  • Trinn 5: Velg 'Microsoft Date and Time Picker Control 6.0 (SP6)' fra listen og klikk på 'OK'.
  • Trinn 6: Klikk hvor som helst på regnearket for å lage rullegardinkalenderen.
  • Trinn 7: Høyreklikk på 'Datovelger' og velg 'Egenskaper' fra listen.
  • Trinn 8: Endre verdien fra 'False' til 'True' for 'CheckBox' -egenskapen slik at nullverdier også kan aksepteres. Lukk dialogboksen Egenskaper .
  • Trinn 9: Høyreklikk på Datovelger igjen og velg 'Vis kode' fra hurtigmenyen.
  • Trinn 10: I 'Visual Basic Editor' kan vi se at noe kode allerede er skrevet. Bytt ut koden med følgende kode.

Kode:

Private Sub Worksheet_SelectionChange (ByVal Target As Range) With Sheet1.DTPicker1 .Hight = 20 .Width = 20 Hvis ikke skjæres (Target, Range ("C: C")) er ingenting da. Visible = True .Top = Target.Top. Venstre = Target.Offset (0, 1) .Link.
  • Trinn 11: Den første setningen i koden forteller MS Excel Compiler å kjøre koden når en ny celle er valgt (Valg endres). Den valgte cellen sendes til underprosedyren som "mål".
Privat underarbeidsark_SelectionChange (ByVal Target As Range)
  • Trinn 12: Disse uttalelsene setter høyden og bredden på datovelgeren til 20 poeng i excel. Det kan observeres at vi har brukt 'With' operatoren slik at vi ikke trenger å referere til DTPicker1 igjen og igjen.
 Med ark1.DTPicker1 .Høyde = 20 .Bredde = 20
  • Trinn 13: Følgende "Hvis" -klausul angir kriteriene for at hvis en celle er valgt i "C" -kolonnen, bare da får Datovelger synlighet. Vi har brukt 'Intersect' -funksjonen da denne funksjonen sjekker om vi har valgt en celle i C-kolonnen, så returnerer denne funksjonen adressen; ellers ville verdien være null.
Hvis ikke krysser (Target, Range ("C: C")) er ingenting da. Visible = True
  • Trinn 14: "Topp" -egenskap for datovelger er satt til lik "Topp" -egenskapens verdi for den valgte cellen. Det betyr at dette vil gå sammen med den øvre grensen til den valgte cellen.
.Top = Target.Top
  • Trinn 15: Denne uttalelsen setter den venstre egenskapen til datovelgeren som lik den til neste høyre celle i den valgte cellen (avstand til venstre kant av D-kolonnen helt til venstre på regnearket). For å få referansen til neste høyre celle, har vi brukt 'Offset' -funksjonen med 0 som radargument og 1 som kolonneargument, da dette vil få en referanse til cellen i neste kolonne.
Venstre = Mål.Offset (0, 1)
  • Trinn 16: Denne uttalelsen kobler datovelgeren til målcellen slik at verdien som er valgt i rullegardinkalenderen som vises i cellen.
.LinkedCell = Måladresse
  • Trinn 17: "Else" -uttalelsen ber kompilatoren om ikke å vise datovelgeren når en celle bortsett fra den i C-kolonnen er valgt.
Else .Visible = False
  • Trinn 18: Til slutt lukker vi 'Hvis'.
Slutt om
  • Trinn 19: Endelig må vi lukke 'With'.
Avslutt med
  • Trinn 20: Nå vil underprosedyren slutte.
Slutt Sub

Forsikre deg om at vi lagrer filen med '.xlsm' -utvidelsen ettersom den lagrer VBA-koden vi har skrevet, og vi vil kunne kjøre denne koden når en hvilken som helst celle er valgt i C-kolonnen.

Now, whenever we select any cell in the ‘C’ column, we can see a drop-down calendar at the top right corner of the selected cell. We can open the drop-down calendar by clicking on the down arrow symbol.

We need to click on any date in the calendar in the selected month to enter that date in the selected cell.

We can change month to previous or next using the arrow button placed at the left and right side of the calendar.

We can also click on the month to choose a month from the drop-down.

We can also change year by clicking on year and then using up and down arrows to choose the required one.

Things to Remember

  • ‘Microsoft Date and Time Picker Control 6.0 (SP6)’ is not available for the 64-bit version of MS Excel.
  • Etter å ha skrevet VBA-koden, må vi lagre filen med '.xlsm' (Excel Macro-Enabled Workbook) -utvidelse; Ellers ville ikke VBA-koden kjøre.

Interessante artikler...