Microsoft Excel

Herbers Excel/VBA-Archiv

Zeilen nach Spalte A zusammenfassen

Betrifft: Zeilen nach Spalte A zusammenfassen von: Marc
Geschrieben am: 31.10.2012 15:12:32

Hallo,

ich habe ein Problem, dass ich alle Spalten ab Spalte B in einem weiteren Excelsheet ausgeben möchte, wenn Spalte den gleichen Wert hat.

Hier das Beispiel:

https://www.herber.de/bbs/user/82412.xlsx

In dem Sheet Ausgang sind die Daten drin. Ausgegeben werden sollen alle Spalten (also theoretisch Spalten B:ZZZ), die den gemeinsamen Wert in Spalte A haben. Und das in einem neuen Tabellenblatt (bei mir im Beispiel Ergebnis).

Kann mir jemand helfen, ich verzweifle gerade daran...
Danke und Gruß
Marc

  

Betrifft: AW: Zeilen nach Spalte A zusammenfassen von: Rudi Maintaire
Geschrieben am: 31.10.2012 15:42:43

Hallo,

Sub aaaaa()
  Dim oDict As Object, rngC As Range, arrKeys, arrItems, sKey, i As Long
  Set oDict = CreateObject("Scripting.dictionary")
  For Each rngC In Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))
    sKey = Range(rngC.Offset(, 1), rngC.Offset(, Columns.Count - 1).End(xlToLeft))
    sKey = WorksheetFunction.Transpose(sKey)
    sKey = WorksheetFunction.Transpose(sKey)
    sKey = Join(sKey, "|")
    If oDict.exists(rngC.Value) Then
      oDict(rngC.Value) = oDict(rngC.Value) & "|" & sKey
    Else
      oDict(rngC.Value) = sKey
    End If
  Next
   
  arrKeys = oDict.keys
  arrItems = oDict.items
  
  With Sheets("Ergebnis")
    For i = 0 To UBound(arrKeys)
      .Cells(i + 1, 1) = arrKeys(i)
      sKey = Split(arrItems(i), "|")
      .Cells(i + 1, 2).Resize(, UBound(sKey) + 1) = sKey
    Next
  End With
  
End Sub

Gruß
Rudi


  

Betrifft: Super, läuft! Wahnsinn!! von: Marc
Geschrieben am: 31.10.2012 15:47:44

Hallo Rudi,

Danke Dir vielmals!

Lieben Gruß
Marc


 

Beiträge aus den Excel-Beispielen zum Thema "Zeilen nach Spalte A zusammenfassen "