• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

combobox op userform

Status
Niet open voor verdere reacties.

bartcorvers

Gebruiker
Lid geworden
6 apr 2012
Berichten
32
hallo,

ik gebruik in excel 2007 een userform met daarop een combobox. De gegevens achter de combobox worden bepaald door een gedefinieerde naam te plaatsen op de eigenschap Rowsource.
De gedefinieerde naam refereert naar een bepaald cellenbereik op een sheet in het werkboek.

Nu zou ik graag willen, dat indien er een nieuwe waarde (niet voorkomend in de lijst van de combobox) in de combobox wordt ingevoerd, dat deze automatisch wordt bijgevuld in het bereik van de gedefinieerde naam.

wie kan mij helpen?
 
hallo Bart,
dat kan ik alleen met VBA
misschien zijn er anderen die dat zonder VBA kunnen.
en stuur een voorbeeldje

groet sylvester
 
Als je van het benoemd bereik een dynamisch benoemd bereik maakt, ben je klaar.
 
PHP:
=OFFSET(Sheet1!$A$1;;;COUNTA(Sheet1!A:A))

PHP:
=Verschuiving(Sheet1!$A$1;;;AANTALARG(Sheet1!A:A))
 
Daar heb je geen gelijk in: het kan zonder VBA. Kijk maar naar de bijlage.


Als je VBA wil gebruiken, kun je dat beter zo doen (meer is niet nodig):

Code:
private Sub Userform_initialize()
  combobox1.list=sheets("Blad1").columns(1).specialcells(2).value
end sub
 

Bijlagen

Laatst bewerkt:
hallo snb

als ik iets nietbestaands in typ in de combo dan wordt het niet toegevoegd aan de lijst

en dat was onze opdracht

groet sylvester
 
Dan moet je zeker geen benoemd bereik noch rowsource gebruiken:

Maar:
Code:
Private Sub Userform_initialize()
  ComboBox1.List = Sheets("sheet1").Columns(1).SpecialCells(2).Value
End Sub

Private Sub ComboBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
  If ComboBox1.ListIndex = -1 And ComboBox1.Value <> "" Then Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Offset(1) = ComboBox1.Value
  ComboBox1.List = Sheets("sheet1").Columns(1).SpecialCells(2).Value
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan