transponeren op basis van celinhoud cel in rij A

Status
Niet open voor verdere reacties.

globe

Verenigingslid
Lid geworden
18 mrt 2001
Berichten
3.584
Beste mensen,

Ik heb een zeer lange excel met artikelnummer en prijzen.

Nu wil ik de lengte van deze lijst drastische veranderen door cellen te transponeren.

zie voorbeeld:

Rijen b en c moeten getransponeerd worden op het moment dat A van waarde veranderd.
Het liefst in een nieuw tabblad.
 

Bijlagen

  • transponeren voorbeeld.xlsx
    9,2 KB · Weergaven: 38
waarom zet je het niet n een draaitabel?
Of is dit te simpel gedacht
 
Kan een optie zijn inderdaad, maar de voorkeur heeft de '1 druk op de knop optie'
 
Verwijder de eerste drie rijen bovenaan in blad1.
Maak een blad2 aan.

Code:
Sub hsv()
Dim sv, i As Long, j As Long, n As Long
sv = Sheets("Blad1").Cells(1).CurrentRegion
Sheets("blad2").Cells(1).CurrentRegion.ClearContents
With CreateObject("scripting.dictionary")
    For i = 2 To UBound(sv)
     .Item(sv(i, 1) & "m") = .Item(sv(i, 1) & "m") & "_" & sv(i, 2)
     .Item(sv(i, 1) & "p") = .Item(sv(i, 1) & "p") & "_" & sv(i, 3)
    Next
    ReDim a(.Count, 0) As String
    For i = 0 To .Count - 1
       sv = Split(Replace(Replace(.keys()(i), "m", ""), "p", "") & .Item(.keys()(i)), "_")
        For j = 0 To UBound(sv)
          a(n, j) = sv(j)
          ReDim Preserve a(.Count, UBound(a, 2) + 1)
        Next j
     n = n + 1
    Next i
   Sheets("Blad2").Cells(1).Resize(.Count, UBound(a) + 1) = a
 End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan