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

Aangeleverde draaitabeldata omzetten naar kolommen

Status
Niet open voor verdere reacties.

hvanbeek

Nieuwe gebruiker
Lid geworden
23 mei 2013
Berichten
3
Beste helper,

Ik heb een vraag over Excel.
In de bijlage zie je in het 1e tabblad de aangeleverde data (dus zonder brongegevens).
Nu wil ik graag de locaties en aantallen ook in kolommen krijgen, zodat ik andere analyses kan doen met de geleverde data.
Zie 2e tabblad voor gewenste resultaat.

Wie kan mij helpen?

Hartelijke groet,


Hendrik van Beek.
 

Bijlagen

Voeg een werkblad "Uitvoer" toe en draai deze maco:

Code:
Sub tsh()
    Dim Br, BrUit
    Dim i As Long, j As Long, k As Long
    
    ReDim BrUit(Application.Count(Sheets(1).Cells(1).CurrentRegion.Offset(1, 3)), 4)
    Br = Sheets(1).Cells(1).CurrentRegion
    For i = 2 To UBound(Br)
        For j = 4 To UBound(Br, 2)
            If Br(i, j) <> "" Then
                BrUit(k, 0) = Br(i, 1)
                BrUit(k, 1) = Br(i, 2)
                BrUit(k, 2) = Br(i, 3)
                BrUit(k, 3) = Br(1, j)
                BrUit(k, 4) = Br(i, j)
                k = k + 1
            End If
        Next
    Next
    Sheets("Uitvoer").Cells(1).Resize(UBound(BrUit), 5) = BrUit
End Sub
 
Code:
Sub M_snb()
  sn = Sheets("aangeleverde data").Cells(1).CurrentRegion
    
  With CreateObject("scripting.dictionary")
    For j = 2 To UBound(sn)
      For jj = 4 To UBound(sn, 2)
        If sn(j, jj) > 0 Then .Item(sn(j, 2) & sn(1, jj)) = Array(sn(j, 1), sn(j, 2), sn(j, 3), sn(1, jj), sn(j, jj))
      Next
    Next
    
    Sheets("gewenst resultaat").Cells(30, 1).Resize(.Count, 5) = Application.Index(.items, 0, 0)
       
  End With
End Sub
 
Of zonder vba maar met Power Query:
Code:
let
    Source = Excel.CurrentWorkbook(){[Name="tableData"]}[Content],
    ChangedTypes = Table.TransformColumnTypes(Source,{{"Artikel", type text}, {"Art.nr.", Int64.Type}, {"Mutatie", type text}}),
    UnpivotedOtherColumns = Table.UnpivotOtherColumns(ChangedTypes, {"Artikel", "Art.nr.", "Mutatie"}, "Attribute", "Value")
in
    UnpivotedOtherColumns
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan