Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
280to284
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
280to284
280to284
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Matrix zurückverwandeln

Matrix zurückverwandeln
16.07.2003 12:39:16
pascal aregger
Liebe Excel Freunde!
Ich habe folgendes Problem:
Ich habe im Excel eine Budget-Datei auf Kostenstellen-Ebene, welche in Matrix-Form dargestellt ist. Sie basiert nicht auf einem Pivot! Diese sieht folgendermassen aus:
KST: 000100 000200 000400 000401 etc
KTO:
3000-0 5'000.- 2'000.- 1'500.- 4'000.-
3100-0 2'000.- 3'500.- 1'000.- 8'000.-
3200-0 3'500.- 2'500.- 6'000.- 7'000.-
etc..
Um die Daten nun in unsere Buchhaltungs-Software einzusaugen, wird folgendes Format verlangt:
KTO KST Betrag
3000-0 000100 5'000.-
3000-0 000200 2'000.-
3000-0 000400 1'500.-
3000-0 000401 4'000.-
3100-0 000100 2'000.-
3100-0 000200 3'500.-
3100-0 000400 1'000.-
3100-0 000401 8'000.-
3200-0 000100 3'500.-
3200-0 000200 2'500.-
3200-0 000400 6'000.-
3200-0 000401 7'000.-
Wie bringe ich nun die Matrix am einfachsten in die gewünschte Form?
Vielen Dank für Eure Hilfe!
Pascal

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

Betreff
Datum
Anwender
Anzeige
Matrix reloaded
16.07.2003 13:01:12
xXx
Hallo,
wie ich das sehe, fangen deine Konten in A2 an und die Kst in B1. Mit einer verschachtelten Schleife ist das einfach zu lösen.
Deine Urdaten müssen auf Blatt1 stehen und es muss ein leeres Blatt2 da sein.Die Werte für intLeZeile und intLeSpalte musst du dir anpassen. Für Automatik hatte ich gerade keinen Sinn.
In ein Modul:

Sub Matrix_reloaded()
Dim intSpalte As Integer, intleSpalte As Integer, _
intZeile As Integer, intLeZeile As Integer, intZielZeile As Integer, _
wksQuelle As Worksheet, wksZiel As Worksheet
Set wksQuelle = Sheets(1)
Set wksZiel = Sheets(2)
intleSpalte = 5
intLeZeile = 20
intZielZeile = 2
For intZeile = 2 To intLeZeile
For intSpalte = 2 To intleSpalte
wksZiel.Cells(intZielZeile, 1) = wksQuelle.Cells(intZeile, 1)
wksZiel.Cells(intZielZeile, 2) = wksQuelle.Cells(1, intSpalte)
wksZiel.Cells(intZielZeile, 3) = wksQuelle.Cells(intZeile, intSpalte)
intZielZeile = intZielZeile + 1
Next intSpalte
Next intZeile
End Sub

Gruß aus'm Pott
Udo
http://www.excelerator.de

Anzeige
AW: Matrix zurückverwandeln - mit INDIREKT
16.07.2003 12:59:39
Boris
Hi Pascal,
deine Matrix: A1:E1000.
In A2 abwärts die Konten, ab B1 nach rechts die Kostenstellen.
Dann in irgendeine Zelle diese Formel:
=INDIREKT("A"&AUFRUNDEN(ZEILEN($1:5)/4;))
In die rechts benachbarte Zelle diese Formel:
=INDIREKT("Z1S"&REST(ZEILEN($1:4);4)+2;0)
Und wieder die rechte Nachbarzelle diese Formel:
=INDIREKT("Z"&AUFRUNDEN(ZEILEN($1:5)/4;)&"S"&REST(ZEILEN($1:4);4)+2;0)
Alle 3 Formeln einfach runterkopieren.
Die Lösung bezieht sich genau auf den von mir beschriebenen Tabellenaufbau.
Geht vieleicht noch einfacher, aber so geht´s zumindest.
Grüße Boris

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige