Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
436to440
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
436to440
436to440
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Excel-Matrix als Endlostabelle auflösen

Excel-Matrix als Endlostabelle auflösen
02.06.2004 14:14:05
NetPower
Hallo Zusammen,
ich habe folgendes Problem. Eine Exceltabelle bekomme ich als Matrix, d.h. in der ersten Spalte stehen Export-Länder, in den Spalten Grade, Year, Quarter, From/to, und dann Länder: z.B. Austria, Bel/Lux, Czech Republic, Denmark usw..
Hier möchte ich jetzt über VBA die ersten 4 Spalten stehen lassen und diesen Block unten an die die ersten 4 Spalten als Zeilen anfügen.
Dann muss die Spalte Bel/Lux z.B. rechts an diesen kopierten Block angesetzt werden.
Es wird vielleicht verständlicher, wenn Ihr Euch die Bsp.-Datei anschaut. Im ersten Sheet ist das Original, das zweite Sheet ist das Ergebnis.
https://www.herber.de/bbs/user/7038.xls

Da diese Matrix im Original tierisch lang ist, ist es eine Arbeit für Leute, die Vatrer und Mutter erschlagen haben, diese zu sortieren.
Das nächste Problem ergibt sich in der Anzahl der Länder. Nur die in der Ersten Zeile stehenden Länder sind vollzählig, nicht die in der dritten Spalte.
Ich hoffe, ich konnte mich einigermaßer verständlich ausdrücken.
Es wäre toll, wenn mir jemand unter die Arme greifen könnte.
Gruß
Netpower

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel-Matrix als Endlostabelle auflösen
02.06.2004 19:12:36
Nepumuk
Hallo,
VBA gut?


Public Sub transponieren()
    Dim intcolumn As Integer, lnglastrow As Long
    Application.ScreenUpdating = False
    ActiveSheet.Copy After:=ActiveSheet
    lnglastrow = Cells(65536, 1).End(xlUp).Row
    For intcolumn = Cells(1, 256).End(xlToLeft).Column To Step -1
        Range(Cells(2 + (lnglastrow - 1) * (intcolumn - 5), 1), Cells(1 + (lnglastrow - 1) * (intcolumn - 4), 4)) = Range(Cells(2, 1), Cells(lnglastrow, 4)).Value
        Range(Cells(2 + (lnglastrow - 1) * (intcolumn - 5), 5), Cells(1 + (lnglastrow - 1) * (intcolumn - 4), 5)) = Range(Cells(2, 1 * intcolumn), Cells(lnglastrow, 1 * intcolumn)).Value
        Range(Cells(2 + (lnglastrow - 1) * (intcolumn - 5), 4), Cells(1 + (lnglastrow - 1) * (intcolumn - 4), 4)) = Cells(1, 1 * intcolumn).Value
    Next
    Range(Cells(1, 6), Cells(lnglastrow, Cells(1, 256).End(xlToLeft).Column)).Clear
    With Range(Cells(1, 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row, 5))
        .Borders(xlEdgeLeft).Weight = xlThin
        .Borders(xlEdgeTop).Weight = xlThin
        .Borders(xlEdgeBottom).Weight = xlThin
        .Borders(xlEdgeRight).Weight = xlThin
        .Borders(xlInsideVertical).Weight = xlThin
        .Borders(xlInsideHorizontal).Weight = xlThin
    End With
    Range(Cells(2, 2), Cells(Cells(Rows.Count, 1).End(xlUp).Row, 4)).HorizontalAlignment = xlCenter
    Range(Cells(2, 4), Cells(Cells(Rows.Count, 1).End(xlUp).Row, 4)).Interior.ColorIndex = 15
    Cells(1, 4) = "TO"
    Cells(1, 5) = "Tons"
    Application.ScreenUpdating = True
End Sub


Gruß
Nepumuk
Anzeige
AW: Excel-Matrix als Endlostabelle auflösen
04.06.2004 10:49:27
Netpower
Hallo Nepumuk,
vielen Dank für Deine Hilfe. Mit Deiner Anmerkung 'VBA gut?' war zumindest verstehen gemeint, leider noch nicht selber programmieren. Aber was nicht ist, kann ja noch werden.
Das Makro funktioniert in den Grundzügen so, wie ich es mir vorgestellt hatte. Eine Frage habe ich jedoch noch:
In den Originaltabellenspalten stehen die Überschriften:
Grade - Year - Q - From/to - Austria - Bel/Lux - Czech Republic - Denmark usw.
Nach dem transponieren sollten die Überschriften folgendermaßen aussehen:
Year - Q - ExportlandID (vorher from/To) - ImportlandID (vorher Ländernamen) - Grade - Mode (hier sollte nur der Wert TRUCK eingetragen werden) - Tons (Tonnage aus der Matrixtabelle)
Tabelle nach Makro:
https://www.herber.de/bbs/user/7091.xls
Ergebnisdatei sollte so aussehen:

Die Datei https://www.herber.de/bbs/user/7092.xls wurde aus Datenschutzgründen gelöscht

Das Ergebnis nach Ausführen des Makros schmeißt jedoch die Spalte FROM/TO raus, die Exportländer müssen aber immer stehen bleiben, da sonst die Matrix nicht aufgeht.
Wenn Du vielleicht nochmal so gut wärst, und darüber schauen könntest.
Vielen herzlichen Dank schonmal im voraus.
NetPower
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige