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

Zoeken op meerdere waarden

Status
Niet open voor verdere reacties.

Georgyboy

Gebruiker
Lid geworden
6 jan 2007
Berichten
964
Besturingssysteem
Windows 11
Office versie
365
Beste Allen,

Misschien moeilijke vraag ?

Ik heb per tabblad een tabel per leverancier met producten, prijzen en datum van afname.
Dit gaat om een 50 tal tabbladen.
Graag zou ik deze in 1 tabel willen plaatsen om dan via een draaitabel te gaan filteren.

In bijlage een voorbeeld met een tabel en daar onderaan een tabel zoals gewenst (onderste tabel is slechts een deel als voorbeeld)

Zou dit kunnen ?

Alvast bedankt

Groeten,
Georgyboy
 

Bijlagen

Ja dat kan. Zoek even op tabbladen samenvoegen en op transponeren.;) Je hebt er wel enige kennis van VBA voor nodig. Er staat in jouw Vb een deel van de gewenste lijst. Welk deel moet er nog bijkomen?

Beginnen al je tabjes in B4 en gaan tot O20? En waarom heeft het geel gemarkeerde geen enkele referentie met het 'gewenste'?

Plaats een voorbeeldje met 2 tabjes met data en ook waar het staat en 1 met wat je wil. Gaat een hoop heen en weer schrijven voorkomen.

Edit de kapucijner op 4-3-2014 heb ik gevonden.:D
 
Laatst bewerkt:
Het resultaat op Blad2.

Code:
Sub hsv()
Dim sn, i As Long, j As Long, n As Long, arr
With Sheets(1)
sn = .Cells(4, 2).CurrentRegion
ReDim arr(.UsedRange.Cells.Count, 4)
  For i = 2 To UBound(sn)
  For j = 5 To UBound(sn, 2)
  If sn(i, j) > 0 Then
        arr(n, 0) = sn(i, 1)
        arr(n, 1) = sn(i, 2)
        arr(n, 2) = sn(i, 3)
        arr(n, 3) = sn(1, j)
        arr(n, 4) = sn(i, j)
      n = n + 1
      End If
    Next j
   Next i
    With Sheets(2).Range("A1")
     .CurrentRegion.ClearContents
     .Resize(n, 5).Value = arr
   End With
 End With
End Sub
 
Bedankt VenA en HSV

@ VenA : beperkte lijst is maar een deel die ik handmatig heb ingevuld (Met de VBA van HSV is dit 44 regels)
Code:
geel gemarkeerde geen enkele referentie met het 'gewenste'
daar ben ik gestopt met handmatig invoegen

@ HSV Bedankt is helemaal top :thumb:

Nog wat proberen om je code te begrijpen

Groeten,
Georgyboy
 
Beste,

Als ik dit mag vragen, stel dat we dit doen met een formule (zonder VBA),
Hoe zouden we deze dan moeten opbouwen ?

VBA Werkt , maar graag begrijp ik ook als het kan de zoekformule.

alvast bedankt,

Georgyboy
 
Hartelijk Dank Harry,

Allen bedankt voor de geboden oplossingen ! :)
Van jullie valt véél te leren. :thumb:

Groeten,
Georges
 
De "moderne" excel oplossing hiervoor is mbv Power Query. Geen vba nodig, je bestand blijft gewoon een xlsx.
Je Power Query script kan er zo uitzien:
Code:
let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Unpivoted Columns" = Table.UnpivotOtherColumns(Source, {"Lev ID", "Naam Leverancier", "Product", "Prijs per"}, "Datum", "Bedrag"),
    #"Changed Type" = Table.TransformColumnTypes(#"Unpivoted Columns",{{"Datum", type date}, {"Bedrag", type number}})
in
    #"Changed Type"

Tip: zet bij voorkeur alle gegevens van alle leveranciers in één tabel.
 
@ pixcel
Het ziet er toch uit als een soort VBA code. Vanaf welke versie werkt die Power Query?
en waar moet je het dan plaatsen in het voorbeeld bestand?
 
@ Timshel
bedankt.
Maar de vraag was niet waar ik het kan downloaden.
 
Vanaf office 2010.
Dat kun je toch zelf ook wel uitzoeken?
 
Ja dat kon ik ook:o
maar ik zal wel niet de enige zijn die wil bijleren over Power Query;)
 
Bedankt Pixcel voor je extra info,

Zou het veel gevraagd zijn om dit stap voor stap even te kunnen uitleggen ?
Zitten proberen maar niet met gewenst resultaat.
De datum zou ook in een kolom moeten staan welke nu nog niet veranderd zijn.

Leer méér dan verwacht !
@ HSV Via VBA
@ SNB Via Formule
@ Pixcel via power Query

Groeten Georges,
 

Bijlagen

  • Power Query.jpg
    Power Query.jpg
    91,7 KB · Weergaven: 44
Er zijn diverse youtube video's die dit goed uitleggen. Zoek op "power query unpivot".
Dit is er één: https://www.youtube.com/watch?v=Kbu5RkUo6-k

Een Power Query script is in de formuletaal M. Zie https://support.office.com/en-sg/ar...tegories-125024ec-873c-47b9-bdfd-b437f8716819
M is niet eenvoudig maar voor de meeste problemen hoef je geen M te kennen.

Power Query is nu een losse add-in maar vanaf Office 2016 is het een standaard onderdeel van Excel en het Excel object model (en dus ook via vba toegankelijk).

Zie voor de vba aanpak ook http://pixcels.nl/normalize/
 
Bedankt Pixcel voor je info en voorbeeld,

Voor de tabel zie ik het liever wat anders NL het verloop van de prijs kunnen volgen per datum

Zoals voorbeeldje

Groeten,
Georges
 

Bijlagen

  • Voorbeeld.jpg
    Voorbeeld.jpg
    95,6 KB · Weergaven: 42
Hey Pixcel,

Met je tip
Code:
https://www.youtube.com/watch?v=Kbu5RkUo6-k

Helemaal passend voor mijn tabel :thumb:

Allen bedankt véél van jullie allen geleerd, 3 verschillende manieren en een voor een Top !

Groeten,
Georges
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan