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

Userform vullen

Status
Niet open voor verdere reacties.

don42

Gebruiker
Lid geworden
25 apr 2014
Berichten
764
beste helpers

wie kan mij helpen met het vullen van een userform
zie voorbeeld
ik wil graag alleen de namen laden uit kolom B als in kolom A 1001 staat

Indien mogelijk de methode hoe nu gevuld wordt (lege cellen overslaan)
graag behouden

bvd
Don
 

Bijlagen

  • User-1001.xlsm
    21,8 KB · Weergaven: 36
Code:
Private Sub Userform_initialize()
 Cells(1).CurrentRegion.Columns(1).Name = "b"
 ListBox1.List = Filter([transpose(if((b=1001)*(offset(b,,1)>0),offset(b,,1),"~"))], "~", False)
End Sub
Of:
Code:
Private Sub Userform_initialize()
sv = Cells(1).CurrentRegion
 For i = 1 To UBound(sv)
   If sv(i, 1) = 1001 And sv(i, 2) > 0 Then s0 = s0 & i & " "
 Next i
ListBox1.List = Application.Index(sv, Application.Transpose(Split(Trim(s0))), 2)
End Sub
En zo zijn er nog meer varianten te verzinnen.
 
Beide codes werken perfect
hartelijk dank voor je hulp

nog een vraagje
wat is "~" in de code?

don
 
ben er mee aan de slag gegaan en heb nog 1 vraagje

Code:
Private Sub Userform_initialize()
Dim r As String
 r = Range("k1").Value
  Range("a2:a" & Cells(Rows.Count, 1).End(xlUp).Row).Name = "rooster"
    ListBox1.List = Filter([transpose(if((rooster = [COLOR="#FF0000"]1001[/COLOR])*(offset(rooster,,13)>0),offset(rooster,,13),"~"))], "~", False)
End Sub

wil graag in cel k1 een waarde intikken (bv 1001 of 1002) rood gearceerd
en dan de listbox laden

heb onderstaande code geprobeerd maar dat geeft foutmelding 13 !


Code:
Private Sub Userform_initialize()
Dim r As String
 r = Range("k1").Value
  Range("a2:a" & Cells(Rows.Count, 1).End(xlUp).Row).Name = "rooster"
    ListBox1.List = Filter([transpose(if((rooster = [COLOR="#FF0000"]r[/COLOR])*(offset(rooster,,13)>0),offset(rooster,,13),"~"))], "~", False)
End Sub
 
Laatst bewerkt:
Met een String kan er niet gerekend worden.
Doe dit eens:
Dim r As Integer
 
hoi

heb het gevonden :D

Code:
Private Sub Userform_initialize()
  Range("a2:a" & Cells(Rows.Count, 1).End(xlUp).Row).Name = "rooster"
    ListBox1.List = Filter([transpose(if((rooster = [COLOR="#FF0000"]k1[/COLOR])*(offset(rooster,,13)>0),offset(rooster,,13),"~"))], "~", False)
     End Sub

gewoon K1 was voldoende
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan