Avatar billede Chewie Novice
07. april 2003 - 13:37 Der er 4 kommentarer og
1 løsning

Combobox (fortsat) 2

Hej

Jeg har fået en del hjælp her på e! til nedestående makroer, men det funker ikke helt endnu :o(

De er til en userform med to ComboBoxe og tre TextBoxe!

ComboBox1 og TextBox1 funker fint

ComboBox2 skal funker lige som Combobox1 men der opstår nogle problemmer

1. hvis man vælger en tom på listen i ComboBoxen kommer den med fejl meddelese i makro nr. 2 nedenfor (contA = CLng(ComboBox2.Value))

2. TextBox3 er stadig tom efter valg i ComboBox2 (makro nr. 3)
__________________________________________________
Private Sub ComboBox1_Change()
Dim cont
Dim myvar
cont = ComboBox1.Value
If cont = "" Then
MsgBox "Du må ikke vælge en tom", vbOKOnly + vbCritical, "Valgfejl"
Exit Sub
End If
myvar = Application.WorksheetFunction _
.VLookup(cont, Range("AdminData!A1:AdminData!B31"), 2, 0)
UserForm1.TextBox1.Text = myvar

End Sub
_____________________________________________
Private Sub ComboBox2_Change()
Dim contA
Dim myvarA
contA = CLng(ComboBox2.Value)
If contA = "" Then
MsgBox "Du må ikke vælge en tom", vbOKOnly + vbCritical, "Valgfejl"
Exit Sub
End If
myvarA = Application.WorksheetFunction _
.VLookup(contA, Range("AdminData!D1:AdminData!E31"), 2, 0)
UserForm1.TextBox2.Text = myvarA

End Sub
______________________________________________
Private Sub ComboBox2ChangeB()
Dim contB
Dim myvarB
contB = CLng(ComboBox2.Value)
If contB = "" Then
MsgBox "Du må ikke vælge en tom", vbOKOnly + vbCritical, "Valgfejl"
Exit Sub
End If
myvarB = Application.WorksheetFunction _
.VLookup(contB, Range("AdminData!D1:AdminData!F31"), 2, 0)
UserForm1.TextBox3.Text = myvarB

End Sub
_____________________________________________

chewie
Avatar billede bak Forsker
07. april 2003 - 13:53 #1
spm 1.
Vi skal lige have byttet et par linier om.

Private Sub ComboBox2_Change()
Dim contA
Dim myvarA

If contA = "" Then
MsgBox "Du må ikke vælge en tom", vbOKOnly + vbCritical, "Valgfejl"
Exit Sub
End If
contA = CLng(ComboBox2.Value)

myvarA = Application.WorksheetFunction _
.VLookup(contA, Range("AdminData!D1:AdminData!E31"), 2, 0)
UserForm1.TextBox2.Text = myvarA

End Sub

spm. 2
det her forstår jeg ikke umiddelbart, Hvad er det du ønsker der skal stå i textbox3 og hvorfor har du 2 ComboBox2_Change()
Kun den øverste (den rigtige kan køres
Avatar billede Chewie Novice
07. april 2003 - 14:03 #2
spm 1

Med den makro ... kommer den med (( MsgBox "Du må ikke vælge en tom", )) ..... ligegyldigt hvad men vælger

spm 2

Ja det er når man tror man har fattet lidt VB og tror man kan selv :o)(men NEJ)

Jeg har 3 TextBoxe, den sidste skal også lave noget VLookup

textbox1 kigger på kolonne B ud fra ComboBox1

textbox2 kigger på kolonne E ud fra ComboBox2
og textbox3 skal kigge på kolonne F ud fra ComboBox2
Avatar billede bak Forsker
07. april 2003 - 14:11 #3
ok, chewie

test lige den her, de to sidste makroer er bygget sammen

Private Sub ComboBox2_Change()
Dim contA
Dim myvarA
Dim MyVarB
contA = ComboBox2.Value
If contA = "" Then
MsgBox "Du må ikke vælge en tom", vbOKOnly + vbCritical, "Valgfejl"
Exit Sub
End If
contA = CLng(contA)
myvarA = Application.WorksheetFunction _
.VLookup(contA, Range("AdminData!D1:AdminData!E31"), 2, 0)
MyVarB = Application.WorksheetFunction _
.VLookup(contA, Range("AdminData!D1:AdminData!F31"), 3, 0)

UserForm1.TextBox2.Text = myvarA
UserForm1.TextBox3.Text = MyVarB
End Sub
Avatar billede Chewie Novice
07. april 2003 - 14:16 #4
Så virker det endelig som jeg havde forestillet mig ... den var også lidt svær at forklare :o)

Mange tak for al´ hjælpen

((svar))
Avatar billede bak Forsker
07. april 2003 - 14:17 #5
OK :-)
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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