Selector de dates d'Excel | Com inserir el selector de dates (calendari) a Excel?

Com inserir el selector de dates a Excel?

Per inserir el calendari desplegable, utilitzarem un Control ActiveX el qual és "Control de selecció de data i hora de Microsoft 6.0 (SP6)".

Podeu descarregar aquesta plantilla Excel del selector de dates aquí: plantilla Excel del selector de dates

Suposem que hem de mantenir les dades dels empleats d’una empresa. Hi ha diversos camps com

  • Codi Emp
  • Nom Emp
  • Data de participació Emp
  • Departament Emp

Per introduir dades a MS Excel, hem creat el format següent.

Per introduir la data d’entrada a Emp, hem de crear un calendari desplegable per tal que sigui més fàcil per a l’usuari introduir les dates d’adhesió.

Per crear un calendari desplegable, es donen els passos següents:

Hem d’inserir un fitxer "Control ActiveX" nomenat "Control de selecció de data i hora de Microsoft 6.0 (SP6)". Per inserir, utilitzarem el fitxer "Insereix" ordre sota el fitxer "Controls" agrupa a 'Desenvolupador'

Si el 'Desenvolupador' La pestanya no és visible; a continuació es mostren els passos a seguir per fer-la visible.

  • Pas 1: Sota la 'Dossier' menú, trieu "Opcions"

  • Pas 2:Un quadre de diàleg anomenat "Opcions d'Excel" s’obrirà. Trieu "Personalitza la cinta" des de la vora esquerra del quadre de diàleg. Casella de selecció per a 'Desenvolupador' i feu clic a 'D'ACORD'.

  • Pas 3:Ara podem veure el 'Desenvolupador' pestanya a l'últim de la cinta.

  • Pas 4: Trieu "Més controls" dels controls ActiveX.

  • Pas 5: Trieu "Control de selecció de data i hora de Microsoft 6.0 (SP6)" de la llista i feu clic a 'D'ACORD'.

  • Pas 6: Feu clic a qualsevol part del full de càlcul per crear el calendari desplegable.

  • Pas 7: Feu clic amb el botó dret a sobre "Selector de dates" i tria "Propietats" de la llista.

  • Pas 8: Canvieu el valor de 'Fals' a "Verdader" per "CheckBox" propietat de manera que també es poden acceptar valors nuls. Tanqueu el fitxer "Propietats" Caixa de diàleg.

  • Pas 9: Torneu a fer clic amb el botó dret al selector de dates i trieu "Mostra el codi" des del menú contextual.

  • Pas 10: En "Visual Basic Editor", podem veure que ja hi ha algun codi escrit. Substituïu el codi pel següent.

Codi:

 Private Worksheet_SelectionChange (ByVa l Target as Range) With Sheet1.DTPicker1 .Height = 20 .Width = 20 If Not Intersect (Target, Range ("C: C")) No és res. Visible = True .Top = Target.Top .Left = Target.Offset (0, 1) .Left .LinkedCell = Target.Address Else .Visible = False End Si finalitza amb End Sub 

  • Pas 11: La primera sentència del codi indica al compilador de MS Excel que executi el codi sempre que se selecciona una cel·la nova (es canvia la selecció). La cel·la seleccionada s'envia al procediment Sub com a 'Objectiu'.
 Full de càlcul de subservei privat_SelectionChange (objectiu ByVal com a interval)
  • Pas 12: Aquestes declaracions estableixen l'alçada i l'amplada del selector de dates en 20 punts en excel. Es pot observar que hem utilitzat "Amb" operador de manera que no necessitem referir-nos a DTPicker1 una vegada i una altra.
 Amb Full1.DTPicker1 .Alçada = 20. Amplada = 20
  • Pas 13: El següent 'Si' clàusula estableix els criteris que si es selecciona una cel·la al fitxer "C" columna, només llavors el selector de dates obtindrà visibilitat. Hem utilitzat "Intersecta" funció ja que aquesta funció comprova si hem seleccionat alguna cel·la de la columna C, llavors aquesta funció retornarà l'adreça en cas contrari, el valor seria nul.
 Si no s'intersecta (objectiu, abast ("C: C")) no és res. Visible = cert 
  • Pas 14: "superior" La propietat del selector de dates s'estableix com igual a 'Superior' valor de la propietat de la cel·la seleccionada. Vol dir que anirà junt amb la vora superior de la cel·la seleccionada.
.Top = Objectiu.Top
  • Pas 15: Aquesta sentència estableix la propietat esquerra del selector de dates igual a la de la següent cel·la dreta de la cel·la seleccionada (Distància del límit esquerre de la columna D des de l'extrem esquerre del full de treball). Per obtenir la referència de la següent cel·la dreta, hem utilitzat "Offset" funció amb 0 com argument de fila i 1 com argument de columna ja que obtindreu una referència a la cel·la de la següent columna.
.Esquerra = Target.Offset (0, 1) .Esquerra
  • Pas 16: Aquesta sentència enllaça el selector de dates amb la cel·la de destinació de manera que el valor seleccionat al calendari desplegable que es mostra a la cel·la.
.LinkedCell = Target.Address
  • Pas 17: La declaració "Else" indica al compilador que no mostri el selector de dates quan es selecciona una cel·la excepte la de la columna C.
Altrament. Visible = Fals
  • Pas 18: Al final, tanquem el 'Si'
 Finalitza If 
  • Pas 19: Per fi, hem de tancar "Amb"
 Acaba amb 
  • Pas 20: Ara acabarà el subprocediment.
 Finalitzar sub 

Assegureu-vos que desem el fitxer amb ".Xlsm" extensió ja que desa el codi VBA que hem escrit i podrem executar aquest codi quan es seleccioni una cel·la a la columna C.

Ara, sempre que seleccionem qualsevol cel·la de la columna "C", podem veure un calendari desplegable a l'extrem superior dret de la cel·la seleccionada. Podem obrir el calendari desplegable fent clic al símbol de la fletxa avall.

Hem de fer clic a qualsevol data del calendari del mes seleccionat per introduir aquesta data a la cel·la seleccionada.

Podem canviar de mes a anterior o següent amb el botó de fletxa situat a la part esquerra i dreta del calendari.

També podem fer clic al mes per triar un mes al menú desplegable.

També podem canviar d’any fent clic a l’any i, a continuació, fent servir les fletxes amunt i avall per triar la necessària.

Coses que cal recordar

  • "Control de selecció de data i hora de Microsoft 6.0 (SP6)" no està disponible per a la versió de 64 bits de MS Excel.
  • Després d’escriure el codi VBA, hem de desar el fitxer amb l’extensió ‘.xlsm’ (Excel Macro-Enabled Workbook), en cas contrari, el codi VBA no s’executaria.