Calendarul drop-down pentru a intra datele

Sarcina noastră - pentru a adăuga la un registru de lucru personalizat formular Excel (caseta) cu calendar automat. Aici este:

Va apărea o fereastră atunci când apăsați combinația de taste și apoi selectați data dorită în ea - se încadrează în celula curentă în foaia de lucru. Simplu și frumos!

Crearea unei noi forme personalizate goale ea prin selectarea meniului Insert - formular de utilizator.

În cazul în care apar în mod automat panoul Toolbox.

În cazul în care nu apare - click pe meniul View - Toolbox.

Acest panou prezintă controale diverse ferestre, cum ar fi butoane, liste, contoare, etc. Dar avem nevoie de un element de (calendar), care nu este încă vizibil pe panou. Pentru a adăuga, faceți clic pe panoul de fundal gri, faceți clic dreapta și selectați Controale suplimentare. va apărea această fereastră:

Este necesar să se găsească și să marcheze Control Calendar 11.0 (Calendar de control 11.0). Versiunea poate fi diferită (11,0, 10,0, etc.), în funcție de versiunea de Microsoft Office, acest lucru nu este esențial. După ce faceți clic pe OK de pe panoul va fi un nou buton - Calendar.

Faceți clic pe ea, și apoi trage o cutie de pe formularul de calendar în timp ce țineți apăsat butonul stâng al mouse-ului:

Dacă se dorește, tweak dimensiunea formei și fereastra de calendar și introduceți textul antet în panoul Proprietăți din partea stângă.

Acum trece la formularul de modul de introducere a codului creat (Vizualizare meniu - cod) și copiați acest text:

Private Sub Calendar1_Click ()
ActiveCell = Calendar1.Value
ActiveCell.NumberFormat = "zz / ll / aa"
end Sub

Private Sub UserForm_Activate ()
Me.Calendar1.Value = Data
end Sub

Acum avem de a face Excel ne arată pentru a crea un formular, atunci când vrem noi. Pentru a face acest lucru, introduceți noul modul (Insert - Module) și copiați acest text:

Sub ShowCalendar ()
UserForm1.Show
end Sub

Dacă nu ați instalat versiunea completă de Office, calendarul de control poate să nu apară în lista suplimentară Controls. Apoi, descărcați acest fișier. puneți-l în folderul C: \ Windows \ System32 și înregistra noul control din meniul Start - Run. formați în continuare c Regsvr32: \ Windows \ System32 \ mscal.ocx și faceți clic pe OK.

(În timpul adăugării Vadim mulțumesc)

Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Dacă Target.Cells.Count> 1 Sub apoi ieșiți
În cazul în care nu Application.Intersect (Range ( "A1: A20"), Target) este nimic Atunci
UserForm1.Show
End If
end Sub

Acum, alocarea oricărei celule din zona A1: A20 calendarul va apărea automat pe ecran.

Știri
Cavalerii Teoria eter