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

Soort van transponeren

Status
Niet open voor verdere reacties.

DJ.Funny

Gebruiker
Lid geworden
17 jan 2006
Berichten
112
Hmmmm, ik denk dat iedereen dit weleens heeft.

In mijn geval gaat het om het volgende: Je hebt 5 artikelen met 5 kenmerken. Deze kenmerken staan achter het artikel. Echter wil ik alle kenmerken onder elkaar hebben: zie bijgevoegd bestand.

Tabblad origineel, de gegevens zoals ik ze heb, tabblad bewerkt zoals ik ze wil.

Normaal doe ik dit altijd ff met CTRL + X en CTRL + V, echter dit moet ik vaker gaan doen en dacht, dit moet toch makkelijker kunnen?
 

Bijlagen

  • Soort van transponeren.xlsx
    9,8 KB · Weergaven: 32
Met een macrootje.
Code:
Sub hsv()
Dim sv, i As Long, j As Long, n As Long
sv = Sheets("origineel").Cells(1).CurrentRegion
ReDim arr((UBound(sv) - 1) * (UBound(sv, 2) - 1), 2)
For j = 2 To UBound(sv, 2)
 For i = 2 To UBound(sv)
    arr(n, 0) = sv(i, 1)
    arr(n, 1) = sv(1, j)
    arr(n, 2) = sv(i, j)
    n = n + 1
 Next i
Next j
Sheets("bewerkt").Cells(2, 1).Resize(UBound(arr), 3) = arr
End Sub
 
zoiets?
Code:
Sub SjonR()
arr = Sheets("Origineel").Cells(1).CurrentRegion

ReDim arr2((UBound(arr) - 1) * (UBound(arr, 2) - 1) + 1, 3) As String
n = 1
arr2(0, 0) = "Product"
arr2(0, 1) = "Kenmerk"
arr2(0, 2) = "Waarde"
   For j = 2 To UBound(arr, 2)
        For i = 2 To UBound(arr)
            arr2(n, 0) = arr(i, 1)
            arr2(n, 1) = arr(1, j)
            arr2(n, 2) = arr(i, j)
              n = n + 1
        Next
    Next
Sheets("Bewerkt").Cells(1, 6).Resize((UBound(arr) - 1) * (UBound(arr, 2) - 1) + 1, 3) = arr2
End Sub
 
@SjonR,

Waarom?
Code:
As String

Lijkt me niet logisch.
 
Beide zeer bedankt!! Hier kan ik wat mee??

Had deze niet zelf kunnen maken, maar als ik hem lees, begrijp ik hem!!

TOP!!
 
:d:d

Als variant lijkt me beter in dit geval.
Het zijn echte getallen zonder voorloopnul.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan