Microsoft Excel

Herbers Excel/VBA-Archiv

Spalten iterativ Zusammenfassen

Betrifft: Spalten iterativ Zusammenfassen von: Excel Neuling123
Geschrieben am: 17.09.2014 15:51:51

Hallo Leute,

ich hänge nun schon einige Tage an einem Problem und finde nirgendwo eine passende Lösung.

Ich habe einen Datensatz der wie folgt vorliegt:
(jedes element in einer einzelnen Zelle)
1 A1 B1 C1 D1 E1 F1
2 A2 B2 C2 D2
3 A3 B3 C3 D3 E3 F3 G3 H3
4 A4 B4

und muss ihn in folgende Form bringen:
1 A1 B1
1 C1 D1
1 E1 F1
2 A2 B2
2 C2 D2
3 A3 B3
3 C3 D3
3 E3 F3
etc... also sortiert in der ersten Spalte in jeweils einer Zelle.

Das Problem ist das die Zeilen unterschiedlich lang sind und das Programm erkennen muss wie weit es jeweils gehen muss. In der anwendung haben die Datentabelle mehrere Tausend einträge was ein manuelles Bearbeiten umständlich macht und einen VBA code erforderlich macht.

Ich wäre sehr dankbar für eine schnelle Hilfe.

  

Betrifft: AW: Spalten iterativ Zusammenfassen von: Excel Neuling123
Geschrieben am: 17.09.2014 16:40:28

kleiner Fehler meinerseits,

Es muss folgende Form bekommen:

1+A1+B1
1+C1+D1
1+E1+F1
2+A2+B2
2+C2+D2
3+A3+B3
3+C3+D3
3+E3+F3

Ich danke im Vorraus


  

Betrifft: AW: Spalten iterativ Zusammenfassen von: Daniel
Geschrieben am: 17.09.2014 16:45:23

Hi

als Makro so, die Daten werden rechts von der ausgangstabelle eingefügt:

Sub test()
Dim arr1
Dim arr2

Dim z1 As Long, z2 As Long
Dim s1 As Long, s2 As Long

arr1 = Cells(1, 1).CurrentRegion.Value

ReDim arr2(1 To Int(UBound(arr1, 1) * UBound(arr1, 2 / 3) + 1), 1 To 3)

For z1 = 1 To UBound(arr1, 1)
    For s1 = 2 To UBound(arr1, 2) Step 2
        If arr1(z1, s1) = "" Then Exit For
        z2 = z2 + 1
        arr2(z2, 1) = arr1(z1, 1)
        arr2(z2, 2) = arr1(z1, s1)
        If s1 < UBound(arr1, 2) Then arr2(z2, 3) = arr1(z1, s1 + 1)
    Next
Next

Cells(1, 1).CurrentRegion.Offset(0, UBound(arr1, 2) + 3).Resize(UBound(arr2, 1), UBound(arr2, 2) _
) = arr2
End Sub
Gruß Daniel


  

Betrifft: AW: Spalten iterativ Zusammenfassen von: Excel Neuling123
Geschrieben am: 17.09.2014 19:49:14

Hallo,

erst mal danke für die Hilfe. Er gibts keine Fehlermeldung an, jedoch tut sich leider auch nichts. Habe die zeit genutzt um ein wenig daran rumtricksen was leider zu nichts geführt hat. ^^
Vieleicht hab ich mein Problem auch undeutlich formuliert. Ich lad noch mal eine BSP datei hoch.
https://www.herber.de/bbs/user/92694.xlsx

Danke nochmals für die Hilfe!
(P.S. ich hab diese Frage in 3 Foren hochgestellt und wurde darauf hingewiesen das sowas nicht gern gesehen ist. Sollte das Problem gelöst sein werde ich es sofort hier melden.)


  

Betrifft: AW: Spalten iterativ Zusammenfassen von: Daniel
Geschrieben am: 17.09.2014 20:24:18

Hi
natürlich tut sich was du Blindschleiche!
Schau dir Datei doch mal genauer an.
Und lies auch mal was ich schreibe, es war nur ein Satz und den zumindest solltest du lesens:
"die Daten werden rechts von der ausgangstabelle eingefügt"
dann schau auch mal rechts von deiner Ausgangstabelle ("Original"), so in Spalte Y, Z und AA, nach dem du das Makro hast laufen lassen.
Das Ergebnis des Makros ist sogar noch in deiner Beispieldatei drin, du musst nur ein bisschen nach rechts scrollen.
Der Code ist halt so schnell, dass man bei der geringen Datenmenge der Beispieldei nicht merkt, dass er läuft, das Ergebnis ist sofot da.

Gruß Daniel


  

Betrifft: AW: Spalten iterativ Zusammenfassen von: Excel Neuling123
Geschrieben am: 17.09.2014 21:39:56

Habs damit nun zum laufen bekommen. :) Vielen dank für deine Hilfe. Ohne deine hilfe hätte ich da noch lange dran gesessen.

Ich wünsche dir noch einen schönen Abend


  

Betrifft: AW: Spalten iterativ Zusammenfassen von: Daniel
Geschrieben am: 17.09.2014 21:49:20

was musstest du da noch gross ans laufen bringen?
Das Ergebnis meines Makros stand doch in deiner Beispieldatei schon drin, dh das Makro ist gelaufen.
Gruß Daniel


 

Beiträge aus den Excel-Beispielen zum Thema "Spalten iterativ Zusammenfassen "