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

Filteren op basis van categorie in andere tabel

Status
Niet open voor verdere reacties.

marco1612

Gebruiker
Lid geworden
29 okt 2013
Berichten
11
Hallo,

Ik heb 2 sheets met op elke sheet een tabel:

Tabel 1:
no name. amount
1. Mickey 15.00
2. Donald 30.00
3. Kwek 10.00
4. Donald 5.00
5. Kwek 15.00

Tabel 2:
name Type employee
Mickey Intern
Donald Employer
Kwek Intern

Mijn vraag is: hoe ziet de vba-formule eruit om tabel 1 te filteren op basis van de geselecteerde waarde (type employee) uit tabel 2.

Dus als er gekozen wordt voor 'Intern' dan zou tabel 1 enkel nog rij 1 (Mickey) 3 en 5 (Kwek) moet laten zien.

Dank alvast!
 
Code:
Sub M_snb()
   msgbox "Waar blijft je voorbeeldbestand ?"
End Sub
 
Omdat het buiten toch maar regent alvast een tip zonder voorbeeldbestand (eenmalig hoor!): voeg een kolom toe aan tabel1 waarin je met vert.zoeken het type employee ophaalt uit tabel2.
 
Voorbeeldbestand

Dank alvast voor jullie reactie. Bijgaand een voorbeeld bestand van mijn bedoeling.

Punt is dat ik geen hulpkolom kan toevoegen aan tabel 1 omdat die gegevens gelinkt zijn aan een extern bestand.
 

Bijlagen

Met een beetje boerenverstand en spelen met de macrorecorder.:d
Zal wel beter/korter kunnen.
Blad3 kun je dan opslaan in ander bestand.
Volgens mij kun je net zo goed, door de code iets aan te passen, een kolom toevoegen aan Tabel1
https://jkp-ads.com/Articles/Excel2007TablesVBANL.asp
 

Bijlagen

Laatst bewerkt:
Code:
Sub j()
With Sheets(2).ListObjects(1).Range
    .AutoFilter 2, "Stagiare"
    .Columns(1).Offset(1).Copy Sheets(1).Cells(2, 12)
End With
With Sheets(1)
    .Cells(1, 12) = "Verantwoordelijk"
     Sheets.Add After:=Sheets(Worksheets.Count)
    .Range("Tabel1[#All]").AdvancedFilter xlFilterCopy, .Range("L1:L4"), Sheets(Sheets.Count).Range("O1:T1")
    .Columns("L:L").Clear
     ThisWorkbook.Sheets(Sheets.Count).Copy
     ActiveWorkbook.SaveAs "C:\....\....\......\.....", FileFormat:=51
End With
End Sub
 
Laatst bewerkt:
Dank!

Dank, Albert en JV. Beide methodes werken goed!

Superfijn dat jullie je kennis willen delen met hobbyïsten zoals ikzelf....
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan