Wat is de code voor een dubbele combobox?

Status
Niet open voor verdere reacties.

Dumtrala

Gebruiker
Lid geworden
18 feb 2005
Berichten
44
Collega programmers!

Ik heb een probleem met een Userform waar ik een Combobox aan heb toegevoegd. Nu heb ik van alles geprobeerd maar zie door de bomen het bos niet meer, vandaar dat het ook moeilijk uitleggen is van wat ik al gedaan heb en wat niet. Ik heb ook de code daarvoor geheel verwijderd en wil van voren af aan beginnen..

Stel ik wil een (mini)-combobox toevoegen aan mijn userform, waar gebruikers kunnen kiezen tussen 'heer' of 'mevrouw', wat is dan de code die ik gebruik? Ook heb ik het probleem dat ik geen keuzeopties krijg in de dropdown-box als ik de macro run; waar of hoe kan ik deze aanmaken/toevoegen/en achteraf aanpassen? En wat is het verschil tussen de opties: 'Private Sub test_Initialize()' en 'Private Sub test_Click()'?

Als ik alleen de code al heb kan ik eventueel verder proberen.

Alvast bedankt!
 
Hai, :D

Helaas begrijp ik jou vraag niet zo goed.
In welk programma wil je dit doen?

Probeer het eens zo uit te leggen:
Ik heb een UserForm hierin wil ik een combobox met die en die waarden.

En probeer ook uit te leggen wat je met deze combo's wilt...Het kan nooit moeilijk zijn maar snap de vraag niet..

Ik hoor het wel. :thumb:
 
Sorry, hieronder een wat duidelijkere omschrijving:

In Word 2002 heb ik een dialoogscherm ingevoegd, zodat gebruikers die het document openen automatisch meteen een invulscherm krijgen. Nu wil ik met een combobox aan de gebruiker twee opties voorschotelen: 'heer' en 'mevrouw', met daarachter nog een textveld waar de naam nog eventueel kan komen. De gekozen optie wordt dan op de plaats van een bladwijzer aan het document toegevoegd.

Nu is mijn probleem dat ik de opties 'heer' en 'mevrouw' niet aan de combobox krijg toegevoegd; ik weet ook niet precies heo dit werkt. Als ik de macro run in het document dan kan ik niets kiezen in de combobox.

Omdat ik al één en ander geprobeerd heb wist ik niet meer wat ik moest behouden en/of verwijderen om de combobox te laten werken, vandaar dat ik van voor af aan begonnen ben en nu enkel vanuit de werkset een combobox heb toegevoegd aan het Userform. Vraag is dus eigenlijk wat de CODE moet zijn om aan de CommandButton toe te voegen (want dat is volgens mij de bedoeling..?). Als ik de code heb kan ik de werking in ieder geval snappen en zelf ook andere comboboxen ontwikkelen.

Alvast bedankt!
 
Hai, :D

Geen punt hoor het valt vaak ook niet mee!

Om de combo te vullen in de Intialize van het Userforum:
Code:
Private Sub UserForm_Initialize()
    With Me.ComboBox1
        .AddItem "Heer"
        .AddItem "Dame"
    End With
End Sub
Om de data naar de bladwijzer te schrijven:
Code:
Private Sub CommandButton1_Click()
 ActiveDocument.Bookmarks("bmGo").Range.Text = _
    Me.ComboBox1.Text & " " & Me.TextBox1.Text & ","
 Unload Me
End Sub

Zie bijlage voor een voorbeeldje!

See Yah! :thumb:
 

Bijlagen

Geweldig! En enorm bedankt; het werkt.
Meestal vind je op internet allerlei varianten e.d. met allemaal extra informatie, waardoor de basis van de code en de werking een beetje in het niet valt. Dus ik ben erg blij met deze beknopte uitleg; het is gewoon heel simpel! :D
 
Ik heb toch nog even een probleem hiermee.. ik zie dat als ik heer of mevrouw kies in het dialoogscherm, dat dan twee maal de optie wordt weergegeven; dus:

Geachte heer heer, van Dale

Achter de tweede 'heer' komt ook een komma, maar die kan ik wel weghalen door deze in de code weg te halen en de tekst 'van Dale' heb ikzelf toegevoegd met een extra Tekstbox, dus dat is te verklaren. Ik zet ook gewoon in de standaard brief een komma, zodat deze er altijd komt. Maar wat ik niet zie is waarom er twee keer 'heer' wordt weergegeven.

Heeft dit iets met het Combobox & Tekstbox regeltje te maken..?
 
Ach, gewoon even zelf wat proberen :confused:
Het blijkt dat de volgende regel ook al volstaat, nogmaals bedankt!

ActiveDocument.Bookmarks("bmAanhef").Range.Text = _
Me.cboAanhef.Text

Ik begin er gewoon lol in te krijgen, zeg! :D Misschien mag ik nu wel blijven an de baas! :thumb:
 
Hmm... toch weer even terug...
Ik heb nu hetzelfde probleem, maar heb de code zoals hierboven aangegeven.. Nog getest of het veranderd met de volgende code:

ActiveDocument.Bookmarks("bmAanhef").Range.Text = _
Me.cboAanhef.Text & " " & Me.cboAanhef.Text & ","

...maar dan krijg ik: 'heer heerheer', dus driedubbel! Als ik dus de code als volgt neerzet:

ActiveDocument.Bookmarks("bmAanhef").Range.Text = _
Me.cboAanhef.Text

...dan wordt het 'heer heer'.

Ik heb op dit moment twee documenten, met allebei de laatste code, maar bij de één doet hij het wel goed (zoals bedoeld; 1x 'heer') en bij de ander dus 2x ('heer heer').

Kan iemand dit verklaren?
 
Geplaatst door Dumtrala
Geweldig! En enorm bedankt; het werkt.
Meestal vind je op internet allerlei varianten e.d. met allemaal extra informatie, waardoor de basis van de code en de werking een beetje in het niet valt. Dus ik ben erg blij met deze beknopte uitleg; het is gewoon heel simpel! :D
Hai, :D

Goed zo..graag gedaan! :thumb:
 
Geplaatst door Dumtrala
Ik heb toch nog even een probleem hiermee.. ik zie dat als ik heer of mevrouw kies in het dialoogscherm, dat dan twee maal de optie wordt weergegeven; dus:

Geachte heer heer, van Dale
Ik kan dit niet reproduceren??

Wat is jou Word-versie?
Wat doe je exact stap voor stap?
 
Geplaatst door Dumtrala
Ach, gewoon even zelf wat proberen :confused:
Het blijkt dat de volgende regel ook al volstaat, nogmaals bedankt!

ActiveDocument.Bookmarks("bmAanhef").Range.Text = _
Me.cboAanhef.Text

Ik begin er gewoon lol in te krijgen, zeg! :D Misschien mag ik nu wel blijven an de baas! :thumb:
Ah probleem zelf opgelost! Goed zo dat zie ik graag...

Ja nu mag je zeker blijven van de baas. :p
 
Geplaatst door Dumtrala
Hmm... toch weer even terug...
Ik heb nu hetzelfde probleem, maar heb de code zoals hierboven aangegeven.. Nog getest of het veranderd met de volgende code:

ActiveDocument.Bookmarks("bmAanhef").Range.Text = _
Me.cboAanhef.Text & " " & Me.cboAanhef.Text & ","

...maar dan krijg ik: 'heer heerheer', dus driedubbel! Als ik dus de code als volgt neerzet:

ActiveDocument.Bookmarks("bmAanhef").Range.Text = _
Me.cboAanhef.Text

...dan wordt het 'heer heer'.

Ik heb op dit moment twee documenten, met allebei de laatste code, maar bij de één doet hij het wel goed (zoals bedoeld; 1x 'heer') en bij de ander dus 2x ('heer heer').

Kan iemand dit verklaren?
Hai, :D

In de eerste code zet jij inderdaad twee keer de waarde neer van heer maar 3 keer zou niet moeten kunnen!

De tweede code is gewoon goed en heb hier nog nooit problemen mee gehad!

Wil je aub even een documentje posten met jou probleem erin en de handelingen welke jij exact uitvoerd...?;)
 
Ach, stom. Ik had bij de code voor de cboAanhef-combobox ook nog de volgende regel staan:

Code:
ActiveDocument.Bookmarks("bmAanhef").Select
  Selection.TypeText Me.cboAanhef

Deze heb ik verwijderd en het probleem was daarmee opgelost.
 
Hai, :D

Ach stom..denk maar zo dat heb je alweer geleerd!

Zelf ontdekken is dus weten waarom het fout gaat en dit zul je onthouden..

You're Welcom! :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan