03. juli 2012 - 15:57Der er
13 kommentarer og 1 løsning
Kalender i userform, word
User aktiveres og combobox viser aktuel dato, måned og år. Hvis jeg ønsker at bruge en anden dato, skal der når jeg trykker på comboboksen komme en kalender frem, hvor man kan vælge nyt år, måned, dato - og/eller.For hver nye data man vælger, skal overføres til comboboksen. Når dato trykkes ind, skjules kalender.
Me.Calendar1.Visible = False End Sub Private Sub ComboBox1_Click() Me.Calendar1.Visible = True End Sub Private Sub UserForm_initialize() Me.Calendar1.Visible = False End Sub Private Sub userform_activate() Me.ComboBox1.AddItem Format(Now, "dd-mm-yy") Me.ComboBox1.DropDown End Sub
Virker ikke helt efter hensigten.Vil gerne have, at userform starter op med aktuel dato i comboboksen. Ved at trykke på comboboksen, skal kalender blive synlig (droppe ned), man vælger år, måned og dag- herefter vises ny dato i comboboksen. Har selv forsøgt, men ikke med comboboks - i stedet brugt tekstboks og komandoknap med flg. kode:
Private Sub Calendar1_Click() Userform1.TextBox1 = Format(Me.Calendar1, "DD-MM-YYYY") Userform1.TextBox1 = Calendar1.Value Me.Calendar1.Visible = False End Sub
Private Sub CommandButton1_Click() Me.Calendar1.Visible = True End Sub
Private Sub UserForm_initialize() Me.TextBox1 = Format(Date, "dd-mm-yyyy") Me.Calendar1 = Format(Date, "dd-mm-yyyy") Me.Calendar1.Visible = False End Sub
Kalenderen skriver det i "Drop down" ved åbning userform.ved at trykke på kalender, kommer ny dato i "Drop down". Kun ved at trykke på ændret dato i drop down kommer kalender frem.
Ved opstart af userform skal kun comboboksen være synlig med aktuel dato. Ved at trykke på drop down i comboboksen, skal kalenderen komme frem. Her vælges aktuel år, måned og når dato vælges lukkes kalender og nyvalgt dato står i komboboks osv.
Me.Calendar1.Visible = False End Sub Private Sub ComboBox1_DropButtonClick() Me.Calendar1.Visible = True End Sub Private Sub UserForm_initialize() Me.Calendar1.Visible = False End Sub Private Sub userform_activate() Me.ComboBox1.AddItem Format(Now, "dd-mm-yy") Me.ComboBox1.ListIndex = 0 End Sub
Me.Calendar1.Visible = False End Sub Private Sub ComboBox1_DropButtonClick() Me.Calendar1.Visible = True End Sub Private Sub UserForm_initialize() Me.Calendar1.Visible = False End Sub Private Sub userform_activate() Me.ComboBox1.AddItem Format(Now, "dd-mm-yy") Me.ComboBox1.ListIndex = 0 End Sub
Hej - jeg kunne da lige supplere med lade kalenderen starte på den pågældende dato.
Private Sub ComboBox1_DropButtonClick() Me.Calendar1.Visible = True If IsDate(Me.ComboBox1.Value) Then Calendar1.Value = DateValue(Me.ComboBox1.Value) Else Calendar1.Value = Date End If End Sub
Jeg ville nok også have lavet en popup userform med kalenderen i. Så fylder den ikke op på userformen.
Har det også i min kode, men fint du gør opmærksom på det, så andre kan få glæde af det.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.