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

Ontvang data uit tabel, anders dan in listbox zichtbaar (VBA)

Status
Niet open voor verdere reacties.

rvisser1988

Gebruiker
Lid geworden
24 aug 2011
Berichten
31
Besten,

Ik heb een tabel van 8 kolommen
In een userform laat ik in een listbox de eerste 7 kolommen zien, d.m.v. deze code:

Code:
Private Sub UserForm_Initialize()

 shownaam.List = Sheets("Registratiebestand").ListObjects(1).DataBodyRange.Columns(1).Resize(, 7).Value
 
End Sub

Vervolgens laat ik in tekstboxen de info zien (van de rij die ik in de listbox aanklik), d.m.v. deze code (om te berwerken):

Code:
Private Sub shownaam_Click()

Dim i As Integer

i = Me.shownaam.ListIndex
Me.shownaam.Selected(i) = True

Me.pasdatinvoer.Value = Me.shownaam.Column(1, i)
Me.pasachternaam.Value = Me.shownaam.Column(2, i)
Me.pasvoorletter.Value = Me.shownaam.Column(3, i)
Me.pasvoornaam.Value = Me.shownaam.Column(4, i)
Me.pasgeslacht.Value = Me.shownaam.Column(5, i)
Me.pasbsn.Value = Me.shownaam.Column(6, i)

End Sub

Nu wil ik in een andere tekstbox de 8e kolom laten zien (die dus niet weergegeven wordt in de listbox), van de rij, die ik in de listbox aanklik.

Hoe moet dit?

Ik zat zelf te klooien met codes als, maar dat werkt niet :):

Code:
Me.stat.Value = Sheets("Registratiebestand").ListObjects(1).Column(8, i).

Heeft iemand een idee?

Dank!
 
Waarom lees je niet alle 8 kolommen in de listbox?

Als antwoord op de vraag
Code:
Me.stat.Value = Sheets("Registratiebestand").ListObjects(1).DataBodyRange.Cells(i, 8)
 
Waarom lees je niet alle 8 kolommen in de listbox?

Als antwoord op de vraag
Code:
Me.stat.Value = Sheets("Registratiebestand").ListObjects(1).DataBodyRange.Cells(i, 8)

Hoi VenA,

Bedankt en hij is bijna goed!
Ik heb in eerste kolommen naam e.d. en in kolom 8 is de status zichtbaar, die niet in het overzicht hoeft.

Ik krijg nu alleen als ik de bovenste aanklik de kolomtitel in tekstvak 'stat' te zien. Als ik de 2e aanklik, zie ik degene die bij de eerste hoort, and so on.

Weet je wat hiervoor de wijziging moet zijn of moet ik dan iets anders met de kolomtitels instellen?

BVD
 
Foutje van mij de eerste regel in een listbox heeft listindex 0 dus moet je i met 1 ophogen.

Code:
Cells(i+1, 8)
 
Foutje van mij de eerste regel in een listbox heeft listindex 0 dus moet je i met 1 ophogen.

Code:
Cells(i+1, 8)

Kijk eens aan!

Ontzettend bedankt!!!

Toch nog 1 vraag:
Stel dat ik de tabel van 'ListObjects(1)' 'Tabelwerknemers' heb genoemd. Hoe kan ik de verwijzing hier dan naartoe maken?
 
Laatst bewerkt:
Wil je svp niet quoten?

Code:
ListObjects("Tabelwerknemers")
 
Code:
shownaam.List = Sheets("Registratiebestand").ListObjects(1).DataBodyRange.value
en zet op: columncount = 7 → hij is er wel maar je ziet het niet.

Nu kan je het uitlezen uit de listbox.
Code:
[COLOR=#3E3E3E][I]stat.Value = [/I][/COLOR]shownaam.Column(7)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan