Excel 2019 VBA combo box

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Johannes38
  • Registratie: Mei 2018
  • Laatst online: 19-01-2023
Goedendag,

Ik heb in excel een ActiveX Combo-Box gemaakt en gebruik deze code:

Private Sub ComboBox1_Change()
Worksheets(ComboBox1.Value).Select
End Sub

Met deze code, een dropdown-lijst (listfillRange), schakel ik van sheet naar sheet en dit werkt.

Het probleem:

Aangekomen bij de juiste sheet, komt de combo-box naam niet overeen met de tabblad-naam.

Enig idee, hoe ik dit kan oplossen. Bij voorbaat dank!!

Acties:
  • 0 Henk 'm!

  • Johannes38
  • Registratie: Mei 2018
  • Laatst online: 19-01-2023
Ik denk dat het komt omdat elke sheet dezelfde Combo-box naam heeft, deze heb ik namelijk overgeheveld naar elke sheet, om vervolgens weer een andere sheet te kunnen kiezen.

Ik ben een super beginner als het gaat om macro's en VBA.

Acties:
  • +2 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Probeer dit:
code:
1
2
3
4
Private Sub ComboBox1_Change()
Sheets(ComboBox1.Value).Activate
ActiveSheet.ComboBox1.Value = ActiveSheet.Name
End Sub

Acties:
  • 0 Henk 'm!

  • Johannes38
  • Registratie: Mei 2018
  • Laatst online: 19-01-2023
Ontzettend bedankt, works like a charm :)

Nou zit ik alleen met het volgende vraagstuk.

Voor ComboBox1 heb ik deze dropdownlist gemaakt, dit zijn tevens mijn sheets.

Private Sub Workbook_Open()
With Sheet3.ComboBox1
.AddItem "Piet"
.AddItem "Klaas"
.AddItem "Marcel"
.AddItem "Johan"
.AddItem "Peter"
.AddItem "Gerard"
End With
End Sub

Is het mogelijk om dezelde dropdown-lijst te plaatsen in de combo-boxen in sheets 4-8?

Als laatste : Hebben jullie gouden tips, als het gaat om macro's /VBA te leren naast de gebruikelijke Youtube instructies of dmv macro's op te nemen, aangezien mijn vraagstuk een geval apart is en ik excel geweldig vind, zou ik graag meer willen leren.

Gr Johannes

Acties:
  • +1 Henk 'm!

  • edeboeck
  • Registratie: Maart 2005
  • Laatst online: 11-05 21:12

edeboeck

mie noow noooothing ...

Johannes38 schreef op maandag 5 juli 2021 @ 21:13:
[...]
Is het mogelijk om dezelde dropdown-lijst te plaatsen in de combo-boxen in sheets 4-8?
[...]
Ja, dat kan... je zou het kunnen oplossen met een apart werkblad waarin je de namen zet... in dat geval ben je allicht iets met deze link.
Anderzijds zou je ook van de huidige opvulcode een functie kunnen maken die de naam van het werkblad als parameter krijgt en die daarmee de juiste combobox oproept. Deze functie zou je dan kunnen oproepen voor alle relevante werkbladen. Deze oproepen zou je eventueel nog verder kunnen automatiseren door zelf niet telkens die call te doen, maar automatisch de werkbladen af te lopen.

De eerste oplossing lijkt me iets minder werk, terwijl de tweede piste wat netter is.

Acties:
  • +1 Henk 'm!

  • g0tanks
  • Registratie: Oktober 2008
  • Nu online

g0tanks

Moderator CSA
Johannes38 schreef op maandag 5 juli 2021 @ 21:13:
Is het mogelijk om dezelde dropdown-lijst te plaatsen in de combo-boxen in sheets 4-8?
Je bent er al bijna toch? Herhaal de code die je nu hebt voor Sheet3 ook voor de andere sheets, bijvoorbeeld met een loop.

Ultrawide gaming setup: AMD Ryzen 7 2700X | NVIDIA GeForce RTX 2080 | Dell Alienware AW3418DW


Acties:
  • 0 Henk 'm!

  • Johannes38
  • Registratie: Mei 2018
  • Laatst online: 19-01-2023
Johannes38 schreef op maandag 5 juli 2021 @ 21:13:

Als laatste : Hebben jullie gouden tips, als het gaat om macro's /VBA te leren naast de gebruikelijke Youtube instructies of dmv macro's op te nemen, aangezien mijn vraagstuk een geval apart is en ik excel geweldig vind, zou ik graag meer willen leren.
Geweldig, hier ga ik veel plezier van beleven op mijn werk.

Ontzettend bedankt nogmaals voor jullie hulp.

Acties:
  • +1 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
@Johannes38,
De openingsmacro heb je helemaal niet nodig (en als je die wel zou willen gebruiken moet je in die macro als naam niet sheet3 gebruiken als de naam van dat blad Piet is). De macro die ik in mijn eerste bericht gaf, kun je (zoals g0tanks al schreef) voor de bladen 3 t/m 8 ook gebruiken, als tenminste de namen van de comboboxen in de bladen 3 t/m 8 dezelfde zijn (en als de bedoelingen van het gebruik ervan nog hetzelfde zijn als in je eerste bericht).
Het eenvoudigst is om de namen van de bladen 3 t/m 8 ergens in een blad in een kolom te plaatsen (wat edeboeck ook al schreef). Stel dat die namen (Piet, Klaas, enz.) in A1:A6 van Blad1 staan, dan vul je bij de eigenschappen van de comboboxen in de bladen met die namen bij ListFillRange in: Blad1!A1:A6 (als de naam van het eerste blad Blad1 is).
Boeken kunnen nuttig zijn, maar je leert vba vooral door het zelf toe te passen. In de helpfile van Excel-VBA vind je overigens alle opdrachten die in vba mogelijk zijn. Als je die helfile goed wil bestuderen en toepassen wat er in staat, moet je toch op enkele jaren rekenen. En om vba te leren is naar mijn mening een goede kennis van Excel zonder vba (en dan vooral van de werkbladfuncties) onontbeerlijk.

[ Voor 19% gewijzigd door dix-neuf op 05-07-2021 23:39 ]


Acties:
  • 0 Henk 'm!

  • Johannes38
  • Registratie: Mei 2018
  • Laatst online: 19-01-2023
dix-neuf schreef op maandag 5 juli 2021 @ 23:33:
@Johannes38,

Het eenvoudigst is om de namen van de bladen 3 t/m 8 ergens in een blad in een kolom te plaatsen (wat edeboeck ook al schreef). Stel dat die namen (Piet, Klaas, enz.) in A1:A6 van Blad1 staan, dan vul je bij de eigenschappen van de comboboxen in de bladen met die namen bij ListFillRange in: Blad1!A1:A6 (als de naam van het eerste blad Blad1 is).
Ik heb deze tip gebruikt en wederom een succes.

Het enige wat er nu gebeurd als ik in de weergaveopties voor de werkmap alles verberg (Horizontale schuifbalk, Verticale Schuifbalk, Bladtabs enz.) het automatisch weer verschijnt als ik van cbox naar cbox spring.

Is dit te voorkomen?
dix-neuf schreef op maandag 5 juli 2021 @ 23:33:
Boeken kunnen nuttig zijn, maar je leert vba vooral door het zelf toe te passen. In de helpfile van Excel-VBA vind je overigens alle opdrachten die in vba mogelijk zijn. Als je die helfile goed wil bestuderen en toepassen wat er in staat, moet je toch op enkele jaren rekenen. En om vba te leren is naar mijn mening een goede kennis van Excel zonder vba (en dan vooral van de werkbladfuncties) onontbeerlijk.
Ik had al zo'n donkerbruin vermoeden na een aantal instructie-vids dat deze taal geen walk in the park is. Een grote uitdaging lijkt mij, welke macro taal pas ik toe als hulpmiddel bij een vraagstelling.

Merci dix-neuf

Acties:
  • +1 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Johannes38 schreef op maandag 5 juli 2021 @ 23:56:
Het enige wat er nu gebeurd als ik in de weergaveopties voor de werkmap alles verberg (Horizontale schuifbalk, Verticale Schuifbalk, Bladtabs enz.) het automatisch weer verschijnt als ik van cbox naar cbox spring. Is dit te voorkomen?
Daar bestaan vba-opdrachten voor, die je in je macro('s) kunt opnemen. Een zoekopdracht daaromtrent in de vba-helpfile of in Google zal je snel verder helpen. Overigens vind ik het niet raadzaam om, als je pas met vba begint, met zulk soort opdrachten aan de slag te gaan.
Pagina: 1