Avatar billede blolsen Juniormester
03. januar 2017 - 16:19 Der er 4 kommentarer og
2 løsninger

Excel VBA, userform

Hej,

Jeg har lavet følgende vba kode til en combobox I en userform, hvor jeg først indsætter indhold I comboboxen og dernæst vil teste for indhold I comboboksen. Dvs. hvis der vælges , eksempelvis "B" I comboboksen, skal tekstbox1 og tekstbox2 automatisk udfyldes med henholdsvis dato og tid.

har søgt rundt på nettet, men kan ikke få koden til at virke

Håber der er en, som kan hjælpe  - på forhånd mange tak:-)

Private Sub UserForm_Initialize()

ComboBox1.Clear

With ComboBox1
    .AddItem "B"
    .AddItem "FAM MED"
    .AddItem "G"
    End With


If Me.ComboBox1.ListIndex <> -1 Then

TextBox1.Value = Date And TextBox2.Value = Time

End If
End sub
03. januar 2017 - 17:30 #1
Feks. således

if Me.ComboBox1.ListIndex > -1 Then
    TextBox1.Text = Format(Now(),"dd-mm-yyyy")
    TextBox1.Text = Format(Now(),"hh:mm")
End If
Avatar billede excelent Ekspert
03. januar 2017 - 19:54 #2
Du skal anvende de 2 følgende koder:

Private Sub UserForm_Initialize()
ComboBox1.Clear

With ComboBox1
.AddItem "B"
.AddItem "FAM MED"
.AddItem "G"
End With

End Sub

Private Sub ComboBox1_Change()

If Me.ComboBox1.ListIndex = 0 Then Me.TextBox1 = Format(Now(), "dd-mm-yyyy"): Me.TextBox2 = Format(Now(), "hh:mm")
If Me.ComboBox1.ListIndex = 1 Then MsgBox "Du har valgt FAM MED"
If Me.ComboBox1.ListIndex = 2 Then MsgBox "Du har valgt G"
ComboBox1 = ""

End Sub
Avatar billede excelent Ekspert
03. januar 2017 - 19:55 #3
følgende kodestump fra ovenstående skal stå på 1 linje :

If Me.ComboBox1.ListIndex = 0 Then Me.TextBox1 = Format(Now(), "dd-mm-yyyy"): Me.TextBox2 = Format(Now(), "hh:mm")
Avatar billede blolsen Juniormester
03. januar 2017 - 20:47 #4
Hej super forslag - vil prøve dem begge i morgen ?
Excelent kan den linie som du skriver skal stå på første linje - stå i userform initialise eller skal den være i en seperat kode?
Avatar billede excelent Ekspert
03. januar 2017 - 21:15 #5
Den skal stå som første linje i :

Private Sub ComboBox1_Change()

If Me.ComboBox1.ListIndex = 0 Then Me.TextBox1 = Format(Now(), "dd-mm-yyyy"): Me.TextBox2 = Format(Now(), "hh:mm")
If Me.ComboBox1.ListIndex = 1 Then MsgBox "Du har valgt FAM MED"
If Me.ComboBox1.ListIndex = 2 Then MsgBox "Du har valgt G"
ComboBox1 = ""

End Sub
Avatar billede blolsen Juniormester
04. januar 2017 - 10:00 #6
Hej begge,

Begge løsninger virker, når de indsættes I "Private Sub ComboBox1_Change()"

mange tak for hjælpen:-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester