Toon posts:

VBA Excel DropDown Box

Pagina: 1
Acties:
  • 337 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb een tooltje aangemaakt met verschillende dropdown boxen. Ik zou nu een macrotje willen maken waarin ik de selecties van de dropdown box op een vaste waarde kan plaatsen (de default waarde).

Ik heb hiervoor al de volgende codes al geprobeerd maar zonder succes.

ActiveDocument.FormFields("Drop Down 9").DropDown.Value = 2

ActiveDocument.FormFields("Drop Down 9").DropDownListEntries(2).Select

Weet er iemand wat er mis is met deze code?

Bedankt!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB/AI

Front verplichte underscores

Je kunt met ListIndex de juiste weergeven, dus (een varitiatie op)
code:
1
ComboBox1.ListIndex = 2

Trouwens welkom op GoT :Y)

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Verwijderd

formfields hebben andere properties dan een gewone listbox. probeer eens het volgende
Visual Basic:
1
activedocument.FormFields("Drop Down 9").Result=activedocument.FormFields("Drop Down 9").DropDown.ListEntries(2).Name

Verwijderd

Topicstarter
Deze code met FormFields werkt nog steeds niet. Ik heb ondertussen wel ergens gelezen dat het met een control Toolbox gemakkelijker zou moeten zijn, dus met Comboxen zoals F_J_K schrijft. Maar ik weet niet hoe ik een ComboBox kan opstellen (het ingeven van de entries). Kan je me hiermee helpen?

Bedankt!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB/AI

Front verplichte underscores

Dart kan met AddItem: F1 => 'combobox' =>
Manieren waarop u gegevens in een ListBox of een ComboBox plaatst

In een ListBox of ComboBox met een enkele kolom kunt u met de methode AddItem op effectieve wijze een afzonderlijk gegeven toevoegen aan de lijst. In een ListBox of ComboBox met meerdere kolommen bieden de eigenschappen List en Column u echter een andere mogelijkheid om gegevens toe te voegen. U kunt de lijst laden vanuit een tweedimensionale matrix.
:P

Combobox staat onder 'Meer besturingselementen' (bij Forms 2.0, iirc).

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Verwijderd

Topicstarter
Onder welk type macro moeten die AddItems geplaatst worden? Onder Private Sub ComboBox1_Change? Of ergens anders? Moeten deze macro's dan nog op 1 of andere manier gelinkt worden met de ComboBox.

Waarvoor dient de 'edit' bij ComboBox Object (als je rechts klikt op de ComboBox)?

Bedankt!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB/AI

Front verplichte underscores

Vooral niet onder Change. Die wordt immers aangeroepen als er iets is veranderd.

Je wilt het eenmalig aamaken. Dus bijv. onder de initialisatie (zie het voorbeeld in F1). Een link is "dus" niet nodig, je moet alleen zorgen dat de naam van de box klopt (ComboBox1, ComboBox2, etc).

De edit: geen idee, heb ik niet :P

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Verwijderd

Topicstarter
Ik vind het voorbeeld niet terug waarnaar jij refereert. Kan je anders het stukje code hier plaatsen?

Bedankt!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Verwijderd schreef op maandag 12 maart 2007 @ 10:37:
ActiveDocument.FormFields("Drop Down 9").DropDown.Value = 2

ActiveDocument.FormFields("Drop Down 9").DropDownListEntries(2).Select

Weet er iemand wat er mis is met deze code?

Bedankt!
Wat mij iig opvalt is dat dit zo te zien Word code is. Het heet dan wel allemaal VBA, maar er is wel verschil in het objectmodel tussen de diverse VBA-hosts.

Welke versie van Excel gebruik je, trouwens.

Qua comboxjes: Excel kent twee soorten comboboxen: de oude die je vindt in de werkbalk formulieren en de standaard ActiveX controls uit de werset besturingselementen. I.h.a. laat je de eerste links liggen. ;) Welke gebruik je nu? Waar plaats je ze? O het werkblad zelf of op een userform?

Als je de goede gebruikt kun je gewoon in heteiegnschappenvenster zowel de invoerrange (lijst) aangeven als de standaardwaarde.
Verwijderd schreef op dinsdag 13 maart 2007 @ 17:14:
Ik vind het voorbeeld niet terug waarnaar jij refereert. Kan je anders het stukje code hier plaatsen?

Bedankt!
Voor codesnippets zijn er andere sites. We proberen te voorkomen dat het forum een soort vraagbaak wordt voor coderequests :)

[ Voor 16% gewijzigd door Lustucru op 13-03-2007 18:19 ]

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Verwijderd

Lustucru schreef op dinsdag 13 maart 2007 @ 18:18:Wat mij iig opvalt is dat dit zo te zien Word code is. Het heet dan wel allemaal VBA, maar er is wel verschil in het objectmodel tussen de diverse VBA-hosts.
tsja, ik had geen zin meer na m'n (Word-)antwoord toen ik opmerkte dat de TS excel & word door mekaar aan het halen was 8)7 .

Verwijderd

Topicstarter
Ik gebruik Excel 2003.
Het type ComboBox dat ik wil gebruiken is de standaard ActiveX controls. Ik plaats deze op het werkblad zelf. Hetgeen nog niet lukt is de initialisatie zelf zodat als ik op het pijltje klik, ik mijn keuzemogelijkheden kan zien.

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Beter lezen dan ;) Rechtermuisklik, eigenschappen, listfillrange, of in code met
.list() of additem(). Als je wilt dat die code uitgevoerd wordt bij het openen van het workbook dan plaats je die in..... workbook_open(). :)

En zoals F_J_K ook aangeeft: voor de excate syntax en voorbeelden moet je even de helpfile raadplegen.

[ Voor 74% gewijzigd door Lustucru op 14-03-2007 09:45 ]

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland

Pagina: 1