• 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.

Listbox direct aanpassen

Status
Niet open voor verdere reacties.

AD1957

Verenigingslid
Lid geworden
27 feb 2016
Berichten
2.155
Met onderstaande code wordt de listbox gevuld.
Hoe krijg ik het voor elkaar om de waardes in de listbox direct aan te passen als de listfilrange verandert.
nu doe ik het met userform3.close en userform3.show. Natuurlijk geen elegante oplossing:eek:

Code:
  Private Sub UserForm_Initialize()
With ListBox1
 ListBox1.List = Worksheets("BLAD1").Range("A2:I2000").Value
 
End With
 
Eerst code wieden:

Code:
Private Sub UserForm_Initialize()
  ListBox1.List = sheets("BLAD1").Range("A2:I2000").Value
End Sub

NB. Listfillrange heeft niets met een listbox in een Userform te maken. Bestudeer nog eens de VBA documentatie grondig.
 
het lijkt me dan logisch, als je tijdens het gebruik van je userform iets verandert aan die A2:I2000, via een andere macro, daar dan gewoon die 2 regel toevoegt na de verandering ofwel in die macro deze "Initialize"-macro gewoon aanroept.
 
snb: stond inderdaad teveel in de code.
cow18: de range wordt inderdaad veranderd via een andere userform
door toevoeging van deze code werkt het voor zover ik nu kan zien.
moet het nog even testen bij div. commandbuttons
Code:
with userform3
ListBox1.List = sheets("BLAD1").Range("A2:I2000").Value
end with
 
beetje snel geweest.
met de opdrachtknoppen op userform 3 werkt het perfect.
met de opdrachtknop in userform4 werkt de toevoeging van de code niet.
wordt dus nog even zoeken.
 
Dit....
Code:
with userform3

end with

...doet echt niets hoor.
 
Partiële informatie, partiële antwoorden.
Als je het gebied via een ander userform wijzigt (wat ik niet slim vind), en je daarna dit userform weer aktiveert kan het simpel met:

Code:
Private Sub UserForm_Activate()
  ListBox1.List = sheets("BLAD1").Range("A2:I2000").Value
End Sub
 
Ik heb de rode regel toegevoegd aan de code van diverse opdrachtknoppen op de betreffende userform3
Dit werkt goed, listbox wordt meteen bijgewerkt.

Code:
Private Sub CommandButton2_Click() 'sorteren op naam
[A2:M2000].Sort key1:=[B2000], order1:=xlAscending, Header:=xlNo
[COLOR="#FF0000"]ListBox1.List = Range("A2:I2000").Value[/COLOR]
End Sub

En inderdaad het betreffende werkblad met Range("A2:I2000") wordt ook nog via een andere userform6 bijgewerkt.
Zie hiervoor geen andere mogelijkheid, omdat ik met die andere userform6 direct ook andere bestanden bijwerk.
het bijwerken van de listbox doe ik nu met:
HTML:
unload userform3
userform3.show

Lijkt me niet de beste oplossing maar het werkt.



Na de Kerstdagen zal ik eens een voorbeeldbestand in elkaar zetten.

Fijne kerstdagen voor iedereen:d
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan