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

VBA - Tabel met meerdere kolommen omzetten in een long list

Status
Niet open voor verdere reacties.

jovannivk

Nieuwe gebruiker
Lid geworden
1 jul 2022
Berichten
2
Hi allemaal,

Ik zit tegen een probleempje op en kan het niet omzetten in VBA code.

In bijgaande bijlage vinden jullie een bestand met een analyse en output sheet. Graag wil ik iets vinden dat gegevens uit een tabel per person onder elkaar worden toegevoegd met de bijhorende account code erbij. In de output sheet heb ik een voorbeeld gemaakt hoe ik het zou willen zien.
Voor elke 'person' heb ik dus 3 waarden die ik onder elkaar moet hebben met de bijhorende account code daarnaast. Dit worden dus drie regels. Op deze manier wil ik voor elke person x3 regels onder elkaar. Vervolgens komt de volgende item erbij, hier het zelfde verhaal.

Je zou eventueel direct 6 regels voor 1 person kunnen gebruiken. Echter, in mijn werkbestand werk ik met honderden persons en tientallen account codes. Ik wil dus zo min mogelijk 'nul' regels in mijn output. Sommige account regels kunnen volledig nul zijn namelijk.

Ik hoop dat het zo een beetje duidelijk is. Alvast bedankt voor de hulp!

Groetjes,
Jo
 

Bijlagen

Van Internet:

CBRE is 's werelds grootste commerciële vastgoed- en investeringsadviseur en heeft klanten in meer dan 100 landen, waarvan meer dan 90% in de Fortune 100.

CBRE IA&R
[h=1]Investment Accounting & Reporting Solutions[/h]
We provide property to fund level accounting, reporting and administration solutions that optimize our clients’ operating models, allowing them to focus on their investment strategies that drive superior returns.

CBRE heeft een gratis vrijwilligersplatform als Helpmij Forum nodig ?
Doneer dan maar eerst eens 1% van jullie jaaromzet aan het forum.
 
Laatst bewerkt:
of met Gegevens en Transformeren (power query) die sinds 2016 standaard in Excel zit en vanaf versie 2010 als addin beschikbaar is.

In power query zit ook ook unpivot (draaitabel opheffen functionaliteit.

Voor dit bestand is het 3 stappen
- kolommen behalve ID naar rijen omzetten (unpivot)
- via filter 0 waarden uitsluiten in kolom met waarden
- als extra filter lege waarden gefilterd mochten die in latere versies meekomen.
 

Bijlagen

Gemaakt en getest met excel2007nl.
Code:
Option Explicit

Public Sub ReversePivotUnPivot()

    'select pivottable
    'run macro "ReversePivotUnPivot"
    'pivottable is reversed/unpivoted

    Dim sR1C1 As String

    Application.DisplayAlerts = False

    sR1C1 = "'" & ActiveSheet.Name & "'!" & Selection.Address(, , -4150)

    Sheets.Add().Name = "Temp"

    With ActiveWorkbook.PivotCaches.Create(3, Array(sR1C1)).CreatePivotTable(Sheets("Temp").Range("A1")).TableRange1
        .Cells(.Rows.Count, .Columns.Count).ShowDetail = True
    End With

    Sheets("Temp").Delete

    Application.DisplayAlerts = True

End Sub
 

Bijlagen

Laatst bewerkt:
aangezien uw voorbeeld niet beantwoord aan uw vraag een paar verschillende voorbeelden.
 

Bijlagen

aangezien uw voorbeeld niet beantwoord aan uw vraag een paar verschillende voorbeelden.

Gemaakt en getest met excel2007nl.
Code:
Option Explicit

Public Sub ReversePivotUnPivot()

    'select pivottable
    'run macro "ReversePivotUnPivot"
    'pivottable is reversed/unpivoted

    Dim sR1C1 As String

    Application.DisplayAlerts = False

    sR1C1 = "'" & ActiveSheet.Name & "'!" & Selection.Address(, , -4150)

    Sheets.Add().Name = "Temp"

    With ActiveWorkbook.PivotCaches.Create(3, Array(sR1C1)).CreatePivotTable(Sheets("Temp").Range("A1")).TableRange1
        .Cells(.Rows.Count, .Columns.Count).ShowDetail = True
    End With

    Sheets("Temp").Delete

    Application.DisplayAlerts = True

End Sub

of met Gegevens en Transformeren (power query) die sinds 2016 standaard in Excel zit en vanaf versie 2010 als addin beschikbaar is.

In power query zit ook ook unpivot (draaitabel opheffen functionaliteit.

Voor dit bestand is het 3 stappen
- kolommen behalve ID naar rijen omzetten (unpivot)
- via filter 0 waarden uitsluiten in kolom met waarden
- als extra filter lege waarden gefilterd mochten die in latere versies meekomen.


Emiel, Max en Roel, hartstikke bedankt voor de hulp. Ik heb er naar gekeken en ga het toepassen in mijn werkbestand. Maar zoals het er naar uit ziet is alles opgelost. Nogmaals, heel erg bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan