Meerdere ComboBoxen

Status
Niet open voor verdere reacties.

evero

Gebruiker
Lid geworden
25 jul 2011
Berichten
27
Goedendag,

Ik wil in een Excel bestand meerdere ComboBoxen plaatsen.
Op zich zou dit geen probleem zijn maar ik wil voortgaan op de manier zoals in de bijlage.
Op het eerste blad in de bijlage heb ik ComboBox werkend voor kolom B. Voortgaand op dezelfde manier, op de tweede bladzijde, maar dan met twee comboboxen (kolom B en E) loopt e.e.a. niet meer zoals ik het graag hebben wil (zie bijlage).
Iemand enig idee wat ik fout doe?
 

Bijlagen

  • Meerdere Comboboxen .xlsm
    33,1 KB · Weergaven: 42
De naam van de combobox komt niet overeen met de naam die je in de code gebruikt.
 
Sorry, had ik even over het hoofd gezien.
Dit gecorrigeerd maar het werkt nog steeds nog.
Gecorrigeerd bestand opnieuw bijgevoegd.
 

Bijlagen

  • Meerdere Comboboxen .xlsm
    32,4 KB · Weergaven: 40
ComboLocatie_Change() lijkt mij dan niet juist.

Code:
Private Sub ComboFruit_Change()
  ActiveCell.Value = ComboFruit.Value
End Sub
 
Laatst bewerkt:
Verwijder de benoemde gebieden.

Gebruik:

Code:
Sub M_snb()
   For Each it In Sheets
      For Each it1 In it.OLEObjects
          If LCase(it1.Name) = "combogroenten" Then it1.Object.List = Blad3.Columns(1).SpecialCells(2).Value
          If LCase(it1.Name) = "combofruit" Then it1.Object.List = Blad3.Columns(4).SpecialCells(2).Value
      Next
   Next
End Sub


Maak in VBA-code ook gebruik van inspringing voor de leesbaarheid.
 
Nogmaals sorry. Ook dit weer over het hoofd gezien.
Tijd voor een nieuwe bril denk ik.
Aangepast bestand bijgevoegd.

@VenA
Ik krijg op het blad "Groente & Fruit" alleen ComboGroenten werkend, ComboFruit doet (nog steeds) niets.

@snb
Met mijn enigszins beperkte kennis van VBA heb ik uw optie geprobeerd, maar zonder resultaat.
 

Bijlagen

  • Meerdere Comboboxen (nieuw).xlsm
    32,9 KB · Weergaven: 26
Comboboxen worden nu geladen in workbook_open
Ik heb wel de ListFillRange leeg gemaakt anders werkt het niet met de code van snb.
 

Bijlagen

  • Meerdere Comboboxen (nieuw).xlsb
    32,1 KB · Weergaven: 52
@Jack Nouws
Hartelijk dank voor de snelle reactie.
In de VBA code "blad3" vervangen door "groente & fruit" maar ik krijg het niet werkend.
 
Zo heb je geen combobox_change nodig:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   If Target.Cells.Count > 1 Or Target.Row <= 2 Then Exit Sub
   
   If Target.Column = 2 Then
      With ComboGroenten
         .LinkedCell = Target.Address
         .Top = Target.Top
         .Left = Target.Left
       End With
   End If
   
   If Target.Column = 5 Then
      With ComboFruit
         .LinkedCell = Target.Address
         .Top = Target.Top
         .Left = Target.Left
      End With
   End If
End Sub
 
@snb
Dank voor de reactie.
VBA volgens je opgave aangepast.
Echter, als ik in de eerste combobox bijvoorbeeld "andijvie" invoer dan komt in de tweede combobox ook "andijvie" te staan.

Ik weet niet of dit anders had gekund maar ik heb beschreven probleem op onderstaande wijze ondervangen.

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   If Target.Cells.Count > 1 Or Target.Row <= 2 Then Exit Sub
   
   If Target.Column = 2 Then
      With ComboGroenten
         .LinkedCell = Target.Address
         .Top = Target.Top
         .Left = Target.Left
       End With
   [B]ActiveSheet.ComboGroenten.Activate[/B]
   End If
   
   If Target.Column = 5 Then
      With ComboFruit
         .LinkedCell = Target.Address
         .Top = Target.Top
         .Left = Target.Left
      End With
   [B]ActiveSheet.ComboFruit.Activate[/B]
   End If
End Sub
 
Te vroeg gejuicht.
Het beschreven probleem ontstaat alleen bij de eerste maal iets invullen.
Daarna werkt het goed.

@snb (of anderen)
nog een optie om het laatste stukje van dit probleem op te lossen?
 
Met het schaamrood op mijn kaken moet ik bekennen dat ik hiervoor iets te vroeg gereageerd heb.
Ik had nog een stukje VBA code staan die er niet in hoorde.
Deze nu weggehaald en de werking van meerdere comboboxen is perfect.
Hierbij de vraag dus opgelost.

Iedereen bedankt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan