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) .

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.

Empin liittymispäivän syöttämiseksi meidän on luotava avattava kalenteri, jotta käyttäjän olisi helpompaa syöttää liittymispäivämääriä.

Voit luoda avattavan kalenterin seuraavasti:

Meidän on lisättävä ActiveX-komponentti nimeltä Microsoft Date and Time Picker Control 6.0 (SP6) . Jos haluat lisätä, käytämme 'Insert' komennon alla 'Controls' ryhmä 'Developer.'

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:

Private Sub Worksheet_SelectionChange (ByVal Target as Range) with Sheet1.DTPicker1 .Height = 20 .Width = 20 If Not Intersect (Kohde, alue ("C: C")) ei ole mitään silloin .Visible = True .Top = Target.Top. Vasen = Target.Offset (0, 1) .Left .LinkedCell = Target.Dress Muu
  • 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' -toimintoa, koska tämä toiminto tarkistaa, onko valitsemamme solu 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). Saadaksemme seuraavan oikean solun viitteen, olemme käyttäneet 'Siirtymä' -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: Lopuksi suljemme 'Jos'.
Loppu Jos
  • Vaihe 19: Viimeinkin meidän on lopetettava 'kanssasi'.
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 vasempaan ja oikeaan reunaan.

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.

Mielenkiintoisia artikkeleita...