geen 0 waarden weergeven in listbox

Status
Niet open voor verdere reacties.

r3000

Gebruiker
Lid geworden
27 mei 2010
Berichten
150
Heeft iemand een oplossing voor bijgaand probleem? dit is een voorbeeld bestandje:Bekijk bijlage 0 waarden niet laten zien als keuze.xlsm

Het is de bedoeling dat de 0-waarden niet worden weergegeven in de listbox.

De oplossing is niet door deze handmatig weg te halen uit het excelbestand.
Het originele bestand bevat namelijk een grote database waar dit niet mogelijk is.

Bij voorbaat dank!
 
Code:
Private Sub ListBox1_Change()
ListBox2.Clear
Dim c As Range
    
 With Sheets("Blad1").Range("A1:A6")
    Set c = .Find(ListBox1, , xlValues, xlWhole)
     c.Offset(, 1).Resize(, 6).Name = "cellen"
       ListBox2.List = Application.Transpose([if(cellen=0,"",cellen)])
     ThisWorkbook.Names.Item("cellen").Delete
 End With
End Sub
 
In der Beschränkung....


Code:
Private Sub ListBox1_Change()
  ListBox2.List = Filter(Application.Index(ListBox1.List, ListBox1.ListIndex + 1, 0), 0, False)
End Sub

Private Sub UserForm_initialize()
  ListBox1.List = Blad1.Cells(1).CurrentRegion.Value
End Sub
 
Laatst bewerkt:
Funktioniert sehr gut.
 
Laatst bewerkt door een moderator:
HSV en snb,

Bedankt voor jullie reacties.

Ik heb allebei de codes geprobeerd.
De code van snb lijkt de beste oplossing, alleen lukt het me niet om die toe te passen in mijn originele bestand.
Dat komt volgens mij omdat de gegevens in Excel zich op andere locaties en bladen begeven.
Ik heb dat aangepast in dit voorbeeld Bekijk bijlage 0 waarden niet laten zien als keuze, rev 1.xlsm
Deze is als de layout van mijn originele bestand.

Hierin heb ik de code van HSV gebruikt, maar die laat nog steeds keuzes over in listbox2 (die geen 0 maar leeg zijn).
Dat geeft vervolgens een foutmelding als je de waardes uit listbox2 wilt gebruiken.

Ik wacht jullie reacties even af. :thumb:
 
Ik zou echt onwijs geholpen zijn als jullie er nog even naar zouden kunnen kijken.

Bij voorbaat dank!
 
In mijn code is er maar 1 plaats die verwijst naar een gebied in een werkblad.
Het enige wat je hoeft te doen is die verwijzing aanpassen.
 
snb,

Ik denk dat ik jouw code niet begrijp.

dit was mijn code:

Code:
ListBox2.List = Application.Transpose(e.Offset(, 26).Resize(, 6).Value)

Die werkt maar dat krijg ik dus vervelende "nulletjes" in ListBox2

met jouw code zou het dan als volgt worden:

Code:
ListBox2.List = Filter(Application.Transpose(e.Offset(, 26).Resize(, 6).Value), 0, False)

Maar dat werkt niet.

Ik dacht dat het misschien aan "transpose" zou liggen maar dat heb ik echt nodig voor mijn bestand.

Kun je aangeven wat ik fout doe? :confused:
 
Dat is mijn code niet in de Initialize gebeurtenis.
 
Zoek in de hulpbestanden van de VBEditor op het lemma 'currentregion'
 
Zoiets?

Code:
Private Sub UserForm_initialize()
 Label1.Visible = False
 ListBox1.List = Blad1.Columns(3).SpecialCells(2).Value
End Sub
Code:
Private Sub ListBox1_Change()
  ListBox2.List = Filter(Application.Index(Range(Cells(ListBox1.ListIndex + 8, 29), Cells(ListBox1.ListIndex + 8, 32)).Value, 1, 0), 0, False)
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan