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

lege cellen Listbox

Status
Niet open voor verdere reacties.

Excel01

Gebruiker
Lid geworden
13 nov 2011
Berichten
129
In listbox worden ook lege cellen geselecteerd/getoond en deze worden ook meegeteld.
Dus niet alleen cellen die informatie bevatten worden getoond maar ook cellen waar niets in staat.
Weet iemand hoe dit komt.
 
Dat zal komen door de wijze waarop je de listbox hebt gevuld.

Geef eens wat meer info of plaats een voorbeeldbestand met jouw probleem.

Gr

Sjon
 
In listbox worden ook lege cellen geselecteerd/getoond.
Dat is echt pech.:eek:
Maar als je een gelijkend vb bestandje post, dan zal de oplossing wel volgen.
Waar staat de listbox, in een userform,werkblad (sheet) of op de maan??
 
Ik zie geen oplossing.
Als ik het bestand DATABASE PLANT download dan Kan ik nog steeds lege rijen selecteren. Het gaat om listbox in userform.
De benaming van die listbox is listdata. De onderste listbox.
 
listofdata =Hal28_members!$A$3:$J$500 = 498 rijen.
Als er niet wordt gecontroleerd of die rijen leeg zijn in de code krijg je ze gratis.
 
Je zou dan in het voorbeeld dat je aangaf de ListofData dynamisch kunnen maken bijv.
Code:
=VERSCHUIVING(Hal28_members!$A$3;;;AANTALARG(Hal28_members!$A$3:$A$500);10)
 
Ik zou een tabel (listobject) of de currentregion adviseren.
 
Kan je hier iets mee, als je het toch vertikt om een gelijkend vbtje te posten.
 

Bijlagen

  • listboxje.xlsb
    27,5 KB · Weergaven: 69
Bedankt allemaal voor jullie reactie.
Ik ga aan de hand van de tips die jullie hebben gegeven aan de slag.

@gast0660
Het bestand is te groot om hier te plaatsen.
Ik zal de vba code die ik gebruik hier plaatsen.
 
Hoi Excel01
Een gelijkend vb bestandje is heel iets anders dan het echte bestand. Maar soms is bepaalde info echt wel noodzakelijk om een passend antwoord te geven.
Zoals de vraag van SjonR in postje 2 Hoe wordt de listbox gevuld?
 
@gast0660, Even los van dat je de relatie tussen het werkblad en de listbox kwijt bent, is zoiets toch wel voldoende om de listbox te vullen?

Code:
Private Sub UserForm_Initialize()
  Dim j As Long, ar
  ar = Blad1.ListObjects(1).DataBodyRange
    For j = 1 To UBound(ar)
      If InStr(c00, ar(j, 1)) = 0 Then c00 = c00 & "|" & ar(j, 1)
    Next j
    ListBox1.List = Split(Mid(c00, 2), "|")
End Sub

We moeten maar even wachten op het zeer grote bestand van de TS om gericht een antwoord te geven.:d
 
Bedankt allemaal voor jullie reactie.
Dit VBA gebruik is voor listbox. Alleen worden de lege cellen ook weergegeven.

Code:
Private Sub UserForm_Initialize()
  Dim j cPart As Range
  Dim cLoc As Range
  Dim ws As worksheet
  Dim XS as Integer
Set ws = worksheets("Klant")

Application.ScreenUpdating = False
XS = Worksheetfunction.count S(Worksheets("Klant").range("A:AC"))
Listbox2.RowSource="Klant!A2:AC" & XS
Listbox2.ColumnCount = 30
listBox2.ColumnWidths = "30;30;30;40;40;100;100"

End Sub
 
Dat de lege regels weergegeven worden is inmiddels wel duidelijk. Doe wat met de suggesties en kom daar op terug. Wat er moeilijk aan is om een gelijkend voorbeeldbestand te maken begrijp ik niet net als de code die je net geplaatst hebt.
 
Als je in een listbox een 1 op 1 weergave wil hebben van een gebied in een werkblad verbaast mij dat het jou verbaast dat je dan de exacte weergave van het gebied in Listbox, inclusief lege cellen, te zien krijgt.

Het zou pas verontrustend zijn als de lege cellen niet zouden worden weergegeven.

Als je geen lege cellen wil, moet je afzien van rowsource (waarom denk je dat die eigenschap zo heet anders ?; zoek de betekenis eens op in een woordenboek.)
 
Laatst bewerkt:
Ja, natuurlijk.
Dit vbatje heb ik gebruikt.

Code:
Private Sub UserForm_Initialize()
    Txt1.Value = WorksheetFunction.Max([ID]) + 1
        With Listbox1
        .List = [leden].Value
        .ColumnCount = [leden].CurrentRegion.Columns.Count
        .ColumnWidths = "30;60;130;130;60;30;60;50;80"
        End With
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan