userform als onderdeel van een combobox

Status
Niet open voor verdere reacties.

john1976

Gebruiker
Lid geworden
13 mrt 2012
Berichten
14
Goedemiddag,

Ik heb een excel sheet waarin staat vermeld wat per medewerker per onderdeel is gedaan. Nu wil ik graag in een userform dat als ik een onderdeel selecteer vanuit een combobox dat van alle medewerkers wordt getoond wat zij daarop hebben gedaan (zie voorbeeld).

Nu had ik al een code gemaakt die werkte voor het eerste onderdeel, maar bij het toevoegen van een tweede onderdeel kreeg ik de melding dat de methode te groot is.

Kan iemand mij helpen aan een compacte code.
 

Bijlagen

John,

Leuke uitdaging, niet zo erg ingewikkeld, wel een paar vraagjes:
- Ik begrijp dat de onderdelen in de kolommen staan (1,2,3 ect.) Kan het aantal kolommen veranderen of zijn het er altijd 10?
- De medewerkers staan in de A-kolom, (a,b,c etc.) Hier komen dubbele waardes voor.
medewerker a komt bijvoorbeeld drie keer voor. Moeten de uren van deze medewerkers bij elkaar geteld worden?
- Je hebt op de userform een aantal tekstvelden gezet, wil je hier de totalen van de uren per medewerker zien?

Ik wacht op je antwoord.
 
Laatst bewerkt:
Beste Elsendoorn,

Op dit moment zijn er een vast aantal werkzaamheden, maar dit zou in de toekomst kunnen veranderen.

Medewerkers kunnen inderdaad meerdere keren voorkomen in de sheet en hun uren/aantallen moeten dan bij elkaar opgeteld worden. Dit totaal wil ik graag teug zien in de userform.

Met virendelijke groet,

John
 
Er zijn hier heel veel uitdagingen voor de helpers. Topictitel aangepast
 
John,

Ik ben even aan het klussen geweest en ik heb een werkend programma'tje kunnen maken.
Het programma zoals je dat hebt opgezet is niet erg handig, je gaat er bijvoorbeeld van uit
dat er maximaal 8 medewerkers kunnen zijn. Zouden er meer komen dan moet ook het aantal
texboxen op de userform aangepast worden, lastig. Dit zou je bijvoorbeeld kunnen oplossen
door gebruik te maken van een keuzelijst om de gegevens (namen en uren) te tonen.

Een ander probleem was om de textboxen te koppelen met de medewerkernamen.
Er staat wel een label voor de textbox maar deze hebben geen koppeling met de textbox die
je gebruikt. Ik heb dit opgelost door een variabele te gebruiken die iedere Control heeft namelijk
de Tag Hierin heb ik de namen van de medewerkers geplaatst zodat Textbox1 met Tag "a" ook
altijd de uren van a krijgt.

Veel Succes.

Bekijk bijlage HelpMijVBAUserform.xlsm
 
Wow dat ziet er goed uit, ik had hier zelf nooit op gekomen.

Heel erg bedankt.

Groet,

John
 
Dat is inderdaad wel erg weinig code.

Heb geen idee hoe deze code werkt, maar hij doet het.

Groet,

John
 
Doe toch een poging te code te analyseren en te begrijpen.
Kun je veel profijt van hebben bij andere projekten.

Dan kun je vinden dat het nog iets eenvoudiger kan:

Code:
Private Sub ComboBox1_Change()
    If ComboBox1.ListIndex > -1 Then
      For j = 1 To 8
            Me("textbox" & j).Text = Evaluate("sumproduct((A1:A30=char(" & j + 96 & "))*(index(A1:K30,," & ComboBox1.ListIndex + 2 & ")))")
      Next
   End If
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan