Horizontale tabel converteren naar verticale tabel?

Status
Niet open voor verdere reacties.

StijnVL

Gebruiker
Lid geworden
9 mei 2005
Berichten
43
Hallo allemaal,


Ik heb een Excelprobleempje, en denk dat het met wat regels VBA-code op te lossen moet zijn.
Ik heb een tabel, met RIJ 1: verschillende lesvakken, KOLOM A: verschillende studenten; per student zijn er in de corresponderende kolommen per vak het groepsletter van de student ingevuld. Een soort van kruistabel dus. In bijlage ("BRON.jpg") heb ik een afbeelding van zo'n vereenvoudigde tabel gezet. (De reële tabel bevat enkele honderden studenten, vandaar dat ik dit door VBA wil laten uitvoeren...)
Ik wil deze tabel "uitrekken", zodat ik een nieuwe tabel krijg, met 3 kolommen: STUDENT, LESVAK, en GROEP. Hierin moet telkens een rij ingevuld worden per student en per lesvak, met de juiste groep. Ik begrijp dat dit redelijk onduidelijk is, maar in bjilage ("DOEL.jpg") heb ik m'n doel gezet. Hopelijk wordt het hiermee duidelijker...


BRON.jpg ==> DOEL.jpg


Heeft er iemand een idee hoe ik hieraan begin? Ik ken wel een streepje VBA, doch beperkt...
alvast bedankt voor jullie tips!
Stijn.
 
Ziedaar:
Code:
Sub snb()
    sn = Sheets("bron").Cells(1).CurrentRegion
    sq = Cells(1, 4).Resize((UBound(sn) - 1) * (UBound(sn, 2) - 1), 3)

    For j = 1 To (UBound(sn) - 1) * (UBound(sn, 2) - 1)
       x = (j - 1) \ (UBound(sn, 2) - 1) + 2
       y = (j - 1) Mod (UBound(sn, 2) - 1) + 2
      sq(j, 1) = sn(x, 1)
      sq(j, 2) = sn(1, y)
      sq(j, 3) = sn(x, y)
    Next
    
    Sheets("bron").Cells(10, 1).Resize(UBound(sq), UBound(sq, 2)) = sq
End Sub
 
Amai, fantastich snb! Dat is nogal op m'n wensen bediend zeg! :thumb: :thumb: :thumb:

Heel erg bedankt! Het doet perfect wat ik wil. Nu nog uitvlooien hoe je dat gefikst hebt. :rolleyes:
Stijn.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan