Collapse column

Autor Thema: Office 2010: Zusammenfassen von Zeilen  (Gelesen 1184 mal)

Offline pi_a

  • Newbie
  • *
  • Beiträge: 6
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2010
Office 2010: Zusammenfassen von Zeilen
« am: Mai 16, 2017, 15:49:43 Nachmittag »
Hallo :)

ich möchte einen ziemlich großen Datensatz mit 40 Tsd Zeilen vereinfachen. Und zwar möchte ich Duplikate in meinen Daten anhand der ersten ID-Spalte identifizieren und dann diese Zeilen in eine Zeile zusammenfassen.

Eigentlich muss auch nur aufsummiert  werden (Zahlen) was in den Spalten N-GO steht und daraus sollte dann eine Zeile entstehen.

Ich habe bereits einen Code gefunden der so etwas leisten kann, aber da ich Anfängerin bin komme ich nicht so ganz mit der Struktur klar, ich hoffe jemand kann mir helfen!

Sub test()
    Dim i As Long 'Zeilenzähler
    Dim x As Integer 'Zähler um Arr() zu erweitern
    Dim flag As Boolean
    Dim arr As Variant
    Dim arrIndex As Integer
    With Sheets("Data_Sum")
     
        arr = Application.Transpose(Range(Financial_id.Cells(1, 1), .Cells(2, 13)))
        x = 2
     
        For i = 3 To .Cells(Rows.Count, 1).End(xlUp).Row
            flag = False
           
            For arrIndex = LBound(arr, 2) To UBound(arr, 2)
                If .Cells(i, 1) = arr(1, arrIndex) Then
                    If InStr(1, arr(13, arrIndex), .Cells(i, 13)) = 0 Then _
                    arr(13, arrIndex) = arr(4, arrIndex) & "-" & .Cells(i, 13)
                    'dann Prüfschleife(Arr) verlassen
                    flag = True
                    Exit For
                Else
                    flag = False
                End If
            Next
         
            If Not flag Then
                x = x + 1
                ReDim Preserve arr(1 To 13, 1 To x)
                arr(1, x) = .Cells(i, 1)
                arr(2, x) = .Cells(i, 2)
                arr(3, x) = .Cells(i, 3)
                arr(4, x) = .Cells(i, 4)
                arr(5, x) = .Cells(i, 5)
                arr(6, x) = .Cells(i, 6)
                arr(7, x) = .Cells(i, 7)
                arr(8, x) = .Cells(i, 8)
                arr(9, x) = .Cells(i, 9)
                arr(10, x) = .Cells(i, 10)
                arr(11, x) = .Cells(i, 11)
                arr(12, x) = .Cells(i, 12)
                arr(13, x) = .Cells(i, 13)
       
               
            End If
        Next
    End With
 
End Sub

Liebe Grüße

pi_a

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline DL

  • Hero Member
  • *****
  • Beiträge: 808
  • {Irrtum / Versuch * Glaskugel}
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2016
Antw:Office 2010: Zusammenfassen von Zeilen
« Antwort #1 am: Mai 16, 2017, 15:59:42 Nachmittag »
Hallo pi_a

Warum nicht Pivot-Tabelle?
Wir sehen uns!
... Detlef
Eine Mustertabelle hilft beim Helfen.
Excel Super-Funktionen: VERWEIS(), INDEX(), WAHL()

Offline pi_a

  • Newbie
  • *
  • Beiträge: 6
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2010
Antw:Office 2010: Zusammenfassen von Zeilen
« Antwort #2 am: Mai 16, 2017, 16:05:36 Nachmittag »
Hallo DL,

habe ich versucht, aber das sah bei mir nicht sehr übersichtlich aus. Ich habe ja auch knapp 200 Spalten, das sah so aus als ob ich die dann alle ankreuzen muss?
Ich kenne mich damit auch nicht besonders aus.

LG

Offline DL

  • Hero Member
  • *****
  • Beiträge: 808
  • {Irrtum / Versuch * Glaskugel}
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2016
Antw:Office 2010: Zusammenfassen von Zeilen
« Antwort #3 am: Mai 16, 2017, 16:42:12 Nachmittag »
Dann vielleicht ein Workaround.

Mit SUMMEWENN() in jeder Zeile die Summe ermitteln. Die Formelergebnisse dann als Werte kopieren.
Dann die Spalte mit den Einzelwerten löschen.
Und dann "Duplikate entfernen".
Wir sehen uns!
... Detlef
Eine Mustertabelle hilft beim Helfen.
Excel Super-Funktionen: VERWEIS(), INDEX(), WAHL()

Offline pi_a

  • Newbie
  • *
  • Beiträge: 6
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2010
Antw:Office 2010: Zusammenfassen von Zeilen
« Antwort #4 am: Mai 16, 2017, 21:18:44 Nachmittag »
In jeder Zeile?
Ich habe allerdings 40.000  :o das wäre dann doch zu aufwendig

Kann man aus dem Code nicht etwas basteln ?
Ich weiß leider auch gar nicht ob irgendwo noch Angaben fehlen im Code ...

LG und danke !

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline DL

  • Hero Member
  • *****
  • Beiträge: 808
  • {Irrtum / Versuch * Glaskugel}
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2016
Antw: Antw:Office 2010: Zusammenfassen von Zeilen
« Antwort #5 am: Mai 16, 2017, 21:22:55 Nachmittag »
In jeder Zeile?
Ich habe allerdings 40.000  :o das wäre dann doch zu aufwendig
Ich kopiere eine Formel in 40000 Zeilen mit einen Doppelklick.

Beim Code müssen dir andere helfen.
Wir sehen uns!
... Detlef
Eine Mustertabelle hilft beim Helfen.
Excel Super-Funktionen: VERWEIS(), INDEX(), WAHL()

Offline pi_a

  • Newbie
  • *
  • Beiträge: 6
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2010
Antw:Office 2010: Zusammenfassen von Zeilen
« Antwort #6 am: Mai 17, 2017, 13:47:25 Nachmittag »
Ich schaue es mir auf jeden Fall nochmal genauer an, danke dir !
Noch finde ich nämlich keine andere Lösung ...

Falls jd Ideen zum Code hat, würde ich mich freuen!

Offline gmg-cc

  • Hero Member
  • *****
  • Beiträge: 1.321
    • Profil anzeigen
    • Meine Webseite
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw:Office 2010: Zusammenfassen von Zeilen
« Antwort #7 am: Mai 17, 2017, 22:52:51 Nachmittag »
Moin,
nun, ich sage es mal so:Der Code entspricht nicht meinem Programmierstil und ist mir ohne Muster-Datei einfach zu intransparent.
Deinen Anmerkungen nach könnte das aber mit Power Query -> http://www.excel-ist-sexy.de/power-query-das-add-in/ zu lösen sein; aber auch hier gilt: Eine Musterdatei mit vielleicht 10-20 Zeilen und einem von Hand eingetragenen Wunschergebnis könnten mich animieren, eine Lösung zu suchen, sofern du Power Query einsetzen kannst/darfst.
Gruß
Günther

Offline pi_a

  • Newbie
  • *
  • Beiträge: 6
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2010
Office 2010: Antw:Office 2010: Zusammenfassen von Zeilen
« Antwort #8 am: Mai 18, 2017, 09:08:12 Vormittag »
Guten Morgen!

Danke für die Antwort!

Also mich würde so ein Code schon sehr interessieren, muss mich mal, wenn ich Zeit habe in den Aufbau etc einlesen, weil damit bekommt man bestimmt schnell, schöne Lösungen hin  :)

Ich hänge hier mal eine Beispiel an wie die Datei gerade aussieht und wie sie danach aussehen sollte (Spalten N bis GO von zwei gleichen IDs sollten in eine Zeile zusammengefasst bzw. alles zusammengefasst sein, da manchmal in allen Spalten etwas steht. Danach die Duplikate gelöscht werden. )

Power Query habe ich leider noch nie benutzt.

LG

pi_a
« Letzte Änderung: Mai 18, 2017, 10:28:34 Vormittag von pi_a »

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline gmg-cc

  • Hero Member
  • *****
  • Beiträge: 1.321
    • Profil anzeigen
    • Meine Webseite
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw:Office 2010: Zusammenfassen von Zeilen
« Antwort #9 am: Mai 18, 2017, 11:32:20 Vormittag »
Moin,
die einfachste Lösung könnte vielleicht die Funktion TEILERGEBNIS() sein, hat aber Einschränkungen. Schau einfach einmal selber.

Mit Power Query ist es wahrscheinlich möglich; ich habe die ersten 7 Daten-Spalten einmal in der Lösung dargestellt. "Wahrscheinlich", weil ich nicht sicher bin, ob 185 Spalten toleriert werden.

Mit dem Code darfst du dich alleine beschäftigen (oder ein anderer Helfer, der mehr Zeit und Lust und natürlich VBA-Kenntnisse hat). Mir feken die ersten beiden Punkte.  ???
Gruß
Günther

Wenn du dich noch intensiver mit Excel beschäftigen möchtest, dann empfiehlt sich ein Online-Kurs,
in dem du sehr viel über Excel erfährst und das gelernte umgehend in der Praxis anwenden kannst.