Caption van label veranderen afhankelijk van keuze in listbox

  • Onderwerp starter Onderwerp starter r3000
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

r3000

Gebruiker
Lid geworden
27 mei 2010
Berichten
150
Beste,

Afhankelijk van de keuze in een listbox (deze wordt gevuld met waardes uit excel, Blad2), wil ik graag dat de caption van een label veranderd (moet dit halen uit waardes in excel, Bald2).
Als op "Invoeren" wordt geklikt dan moet de waarde op BLAD1 ingevoerd worden. Deze is terug te vinden in BLAD2.

Voorbeeld:
Keuze listbox = E - Paars
Label caption wordt dan "Paars"
Waarde in Blad1!C8 = E

Zie bijgaand voorbeeld. Bekijk bijlage Voorbeeld.xlsm

Dank!
 
Zoiets?

Code:
Private Sub CommandButton1_Click()
    Sheets("Blad1").Range("c8").Value = Left(ListBox1.List(ListBox1.ListIndex), 1)
End Sub

Private Sub ListBox1_Change()
 temp = ListBox1.List(ListBox1.ListIndex)
 temp = Right(temp, Len(temp) - 3)
 Label1.Caption = temp
End Sub

invoeren in de userform1 vba entries
 
[cpp]Private Sub CommandButton1_Click()
Blad1.Cells(8, 3) = Mid(ListBox1.Text, 1, 2)
End Sub


Private Sub ListBox1_Change()
Label1.Caption = Mid(ListBox1.Text, 5)
End Sub[/cpp]
3Xwzv.png

Dit?

[edit] Wampier was me voor[/edit]
 
He he, overigens een mooie oplossing met MID. ik wist niet dat er een variant was met maar 2 inputs. dat is wel een stuk netter.
 
Allebeid de oplossingen werken goed!

Ik ben alleen iets vergeten. Namelijk dat het label aangepast en de cel gevuld moet worden afhankelijk van de keuze uit 2 listboxen.

Voorbeeld:
Waarde listbox1 = D
Waarde listbox2 = Paars

Label = DP5 - D Paars (waarde uit kolom 2, Blad2)
Waarde in Blad1!C8 = DP5 (waarde uit kolom 1, Blad2)

Zie bijgaand voorbeeld: Bekijk bijlage Voorbeeld 2.xlsm

Ik wacht weer even af! :thumb:
 
Zoiets kan ook:

[cpp]
Private Sub CommandButton1_Click()
Blad1.Cells(8, 3) = kleurcode
End Sub

Private Function kleurcode()
kleurcode = ListBox1.Text + Mid(ListBox2.Text, 1, 1) + CStr(ListBox2.ListIndex + 1)
End Function

Private Sub ListBox1_Change()
Label1.Caption = kleurcode() + " - " + ListBox1.Text + " " + ListBox2.Text
End Sub

Private Sub ListBox2_Change()
Label1.Caption = kleurcode() + " - " + ListBox1.Text + " " + ListBox2.Text
End Sub[/cpp]

Als dat is wat je bedoelt.
 
Bedankt maar dat is eigenlijk niet bedoeling.
Het bestand dat ik heb gestuurd is uiteraard een voorbeeld voor het bestand waar het uiteindelijk voor is.
Daarom moet de functie echt verwijzen naar de waardes op blad2.

Lukt dat denk je?
 
Laatst bewerkt door een moderator:
Ik denk dat het met een code "verticaal zoeken" in VBA mogelijk is. Maar weet niet precies hoe je dat moet programmeren...
 
Zo dus?
[cpp]Private Sub CommandButton1_Click()
Blad1.Cells(8, 3) = Blad2.Cells((ListBox1.ListIndex * 8) + ListBox2.ListIndex + 3, 1).Value
End Sub

Private Sub ListBox1_Change()
Label1.Caption = Blad2.Cells((ListBox1.ListIndex * 8) + ListBox2.ListIndex + 3, 2).Value
End Sub

Private Sub ListBox2_Change()
Label1.Caption = Blad2.Cells((ListBox1.ListIndex * 8) + ListBox2.ListIndex + 3, 2).Value
End Sub
[/cpp]
 
Ik ben helemaal gelukkig! :thumb:
Klein vraagje nog: hoe zorg ik ervoor dat het label bij het openen van het scherm meteen de juiste waarde heeft en niet "Label1"?

Als je het antwoord hebt kan ik deze vraag sluiten.

Thanks!
 
Laatst bewerkt door een moderator:
Gewoon deze toevoegen:
[CPP]Private Sub UserForm_Initialize()
ListBox1.ListIndex = 0
ListBox2.ListIndex = 0
End Sub[/CPP]

Om op opgelost te zetten -> Eerste post rechtsonderaan Zet status opgelost.
 
@r3000 Onnodige quotes verwijderd. Wanneer je direct reageert op een reactie is het niet nodig om dat bericht te quoten. Onnodig quoten heet dat, hetgeen niet gewenst is.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan