Excel-päivämääränvalitsin | Kuinka lisätä päivämääränvalitsin (kalenteri) Exceliin?

Kuinka lisätä päivämääränvalitsin Exceliin?

Avattavan kalenterin lisäämiseen käytämme ActiveX-komponenttia,  joka on Microsoftin päivämäärän ja ajan valitsin 6.0 (SP6) .

Voit ladata tämän päivämääränvalitsimen Excel-mallin täältä - Päivämääränvalitsimen Excel-malli

Oletetaan, että meidän on ylläpidettävä tietoja yrityksen työntekijöistä. On olemassa useita kenttiä, kuten

  • Emp-koodi
  • Emp nimi
  • Emp liittymispäivä
  • Emp-osasto

Tietojen syöttämiseksi MS Exceliin olemme luoneet seuraavan muodon.

Jotta voisimme kirjoittaa Emp Joining Date, meidän on luotava avattava kalenteri, jotta käyttäjän olisi helpompaa kirjoittaa liittymispäiviä.

Voit luoda avattavan kalenterin seuraavasti: 

Meidän on lisättävä ActiveX-komponentti nimeltä Microsoft Date and Time Picker Control 6.0 (SP6) . Lisäämiseksi käytämme 'Kommentti' -komentoa Kehittäjä- ohjaimet- ryhmän alla

Jos Kehittäjä- välilehti ei ole näkyvissä, alla on ohjeet, jotka tekevät saman näkyväksi.

  • Vaihe 1: Under the Tiedosto valikosta 'Asetukset'

  • Vaihe 2: '' Excel-asetukset '' -valintaikkuna avautuu. Valitse valintaikkunan vasemmasta reunasta 'Muokkaa valintanauhaa' . Valintaruutu 'Developer' -välilehti ja klikkaa 'OK' .

  • Vaihe 3: Nyt voimme nähdä Kehittäjä- välilehden valintanauhan viimeisessä osassa.

  • Vaihe 4: Valitse Lisää ohjaimia ActiveX-ohjaimista.

  • Vaihe 5: Valitse luettelosta Microsoft Date and Time Picker Control 6.0 (SP6) ja napsauta OK .

  • Vaihe 6: Luo avattava kalenteri napsauttamalla mitä tahansa laskentataulukon kohtaa.

  • Vaihe 7: Napsauta hiiren kakkospainikkeella Päivämääränvalitsin ja valitse luettelosta Ominaisuudet .

  • Vaihe 8: Muuta arvo näennäisesti on 'True' varten valintaruutu " ominaisuus jotta tyhjäarvoja voidaan hyväksyä. Sulje Ominaisuudet- valintaikkuna.

  • Vaihe 9: Napsauta hiiren kakkospainikkeella Päivämääränvalitsin uudelleen ja valitse kontekstivalikosta 'Näytä koodi' .

  • Vaihe 10: Kun 'Visual Basic Editor' , voimme nähdä, että jotkut koodi on jo kirjoitettu. Korvaa koodi seuraavalla.

Koodi:

 Yksityinen alitaulukko_SelectionChange (ByVa l Kohde alueena) Sheet1.DTPicker1 .Korkeus = 20 .Leveys = 20 Jos ei leikkaa (kohde, alue ("C: C")) ei ole mitään silloin .Visible = True .Top = Target.Top .Left = Target.Offset (0, 1) .Left .LinkedCell = Target.Address Other .Visible = False End If End With End Sub 

  • Vaihe 11: Koodin ensimmäinen käsky kehottaa MS Excel-kääntäjää suorittamaan koodin aina, kun uusi solu valitaan (valintaa muutetaan). Valittu solu lähetetään alimenettelyyn nimellä 'Kohde' .
 Yksityinen alitaulukko_SelectionChange (ByVal-kohde-alue)
  • Vaihe 12: Nämä lauseet asettavat päivämääränvalitsimen korkeudeksi ja leveydeksi 20 pistettä Excelissä. Voidaan havaita, että olemme käyttäneet 'With' -operaattoria, joten meidän ei tarvitse viitata DTPicker1: een uudestaan ​​ja uudestaan.
 Sheet1.DTPicker1 .Height = 20 .Width = 20
  • Vaihe 13: Seuraava Jos- lauseke asettaa kriteerit, että jos jokin solu valitaan C- sarakkeesta, vain päivämääränvalitsin saa näkyvyyden. Olemme käyttäneet 'Intersect' -funktiota, koska tämä toiminto tarkistaa, olemmeko valinneet solun C-sarakkeesta, tämä toiminto palauttaa osoitteen, muuten arvo olisi nolla.
 Jos ei leikkaa (kohde, alue ("C: C")) ei ole mitään silloin .Visible = True 
  • Vaihe 14: Päivämäärän valitsimen Ylä- ominaisuus asetetaan yhtä suureksi Valitun solun Ylä- ominaisuuden arvolla. Se tarkoittaa, että tämä menee yhdessä valitun solun yläreunan kanssa.
.Top = Kohde.Top
  • Vaihe 15: Tämä käsky asettaa päivämääränvalitsimen vasemman ominaisuuden yhtä suureksi kuin valitun solun seuraavan oikean solun ominaisuus (D-sarakkeen vasemman reunan etäisyys laskentataulukon vasemmassa reunassa). Seuraavan oikean solun viitteen saamiseksi olemme käyttäneet 'Offset' -funktiota, jossa 0 on riviargumentti ja 1 sarake-argumentti, koska tämä saa viitteen seuraavan sarakkeen soluun.
Vasen = Kohde. Siirtymä (0, 1). Vasen
  • Vaihe 16: Tämä käsky linkittää päivämääränvalitsimen Kohde-soluun siten, että kumpi arvo on valittu solussa näkyvässä avattavassa kalenterissa.
.LinkedCell = Kohdeosoite
  • Vaihe 17: Muuten-käsky kehottaa kääntäjää olemaan näyttämättä päivämääränvalitsinta, kun jokin solu paitsi C-sarakkeessa on valittu.
Muu .Visible = väärä
  • Vaihe 18: Lopulta suljemme 'Jos'
 Loppu Jos 
  • Vaihe 19: Viimeinkin meidän on lopetettava 'With'
 Lopeta 
  • Vaihe 20: Nyt alimenettely päättyy.
 End Sub 

Varmista, että tallennamme tiedoston .xlsm- laajennuksella, koska se tallentaa kirjoittamamme VBA-koodin ja voimme suorittaa tämän koodin, kun mikä tahansa solu on valittu C-sarakkeessa.

Nyt kun valitsemme minkä tahansa solun C-sarakkeesta, voimme nähdä avattavan kalenterin valitun solun oikeassa yläkulmassa. Voimme avata avattavan kalenterin napsauttamalla alanuolen symbolia.

Meidän on napsautettava mitä tahansa päivämäärää kalenterissa valitulla kuukaudella syöttääksesi päivämäärän valittuun soluun.

Voimme vaihtaa kuukauden edelliseen tai seuraavaan nuolinäppäimellä, joka on sijoitettu kalenterin vasemmalle ja oikealle puolelle.

Voimme myös napsauttaa kuukautta valitaksesi kuukauden avattavasta valikosta.

Voimme myös vaihtaa vuotta napsauttamalla vuotta ja valitsemalla sitten ylös- ja alas-nuolilla haluamasi.

Muistettavaa

  • Microsoft Date and Time Picker Control 6.0 (SP6) ei ole käytettävissä MS Excelin 64-bittisessä versiossa.
  • VBA-koodin kirjoittamisen jälkeen meidän on tallennettava tiedosto .xlsm (Excel Macro-Enabled Workbook) -laajennuksella, muuten VBA-koodi ei toimisi.