Sub NeuSortierung()
Dim ZeilenAnz As Long, ArrayAnz As Long
Dim IndexA As Long, IndexB As Long, IndexC As Long
Dim Lzeile As Long
Lzeile = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
ReDim WksArrayBalt(Lzeile, 1) As Variant
ReDim WksArrayFGalt(Lzeile, 2) As Variant
ReDim WksArrayBneu(1 To Lzeile, 1 To 1) As Variant
ReDim WksArrayFGneu(1 To Lzeile, 1 To 2) As Variant
WksArrayBalt() = Range(Cells(1, 2), Cells(Lzeile, 2))
WksArrayFGalt() = Range(Cells(1, 6), Cells(Lzeile, 7))
For ZeilenAnz = 1 To Lzeile
For ArrayAnz = 1 To Lzeile
If WksArrayBalt(ZeilenAnz, 1) <> WksArrayBneu(ArrayAnz, 1) Then
IndexB = IndexB + 1
IndexC = ArrayAnz
Else
IndexC = ArrayAnz
Exit For
End If
Next ArrayAnz
If IndexB = 6 Then
IndexA = IndexA + 1
WksArrayBneu(IndexA, 1) = WksArrayBalt(ZeilenAnz, 1)
WksArrayFGneu(IndexA, 1) = WksArrayFGalt(ZeilenAnz, 1)
WksArrayFGneu(IndexA, 2) = WksArrayFGalt(ZeilenAnz, 2)
Else
WksArrayFGneu(IndexC, 1) = WksArrayFGneu(IndexC, 1) & "," & WksArrayFGalt(ZeilenAnz, 1)
WksArrayFGneu(IndexC, 2) = WksArrayFGneu(IndexC, 2) & "," & WksArrayFGalt(ZeilenAnz, 2)
End If
IndexB = 0
Next ZeilenAnz
Range(Cells(1, 2), Cells(Lzeile, 2)).Resize(UBound(WksArrayBneu())) = WksArrayBneu()
Range(Cells(1, 6), Cells(Lzeile, 7)).Resize(UBound(WksArrayFGneu())) = WksArrayFGneu()
End SubSub NeuSortierung()
Dim ZeilenAnz As Long, ArrayAnz As Long
Dim IndexA As Long, IndexB As Long, IndexC As Long
Dim Lzeile As Long
Lzeile = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
ReDim WksArrayBalt(Lzeile, 1) As Variant
ReDim WksArrayFGalt(Lzeile, 2) As Variant
ReDim WksArrayBneu(1 To Lzeile, 1 To 1) As Variant
ReDim WksArrayFGneu(1 To Lzeile, 1 To 2) As Variant
WksArrayBalt() = Range(Cells(1, 2), Cells(Lzeile, 2))
WksArrayFGalt() = Range(Cells(1, 6), Cells(Lzeile, 7))
For ZeilenAnz = 1 To Lzeile
For ArrayAnz = 1 To Lzeile
If WksArrayBalt(ZeilenAnz, 1) <> WksArrayBneu(ArrayAnz, 1) Then
IndexB = IndexB + 1
IndexC = ArrayAnz
Else
IndexC = ArrayAnz
Exit For
End If
Next ArrayAnz
If IndexB = Lzeile Then
IndexA = IndexA + 1
WksArrayBneu(IndexA, 1) = WksArrayBalt(ZeilenAnz, 1)
WksArrayFGneu(IndexA, 1) = WksArrayFGalt(ZeilenAnz, 1)
WksArrayFGneu(IndexA, 2) = WksArrayFGalt(ZeilenAnz, 2)
Else
WksArrayFGneu(IndexC, 1) = WksArrayFGneu(IndexC, 1) & "," & WksArrayFGalt(ZeilenAnz, 1)
WksArrayFGneu(IndexC, 2) = WksArrayFGneu(IndexC, 2) & "," & WksArrayFGalt(ZeilenAnz, 2)
End If
IndexB = 0
Next ZeilenAnz
Range(Cells(1, 2), Cells(Lzeile, 2)).Resize(UBound(WksArrayBneu())) = WksArrayBneu()
Range(Cells(1, 6), Cells(Lzeile, 7)).Resize(UBound(WksArrayFGneu())) = WksArrayFGneu()
End Sub
Musik in mp3 sortieren.
Cooper3210 30.09.2008 - 2011 Hits -
Excel 2007 - Per Makro Daten nach Bedingung auslesen und sortieren
AlexS 24.11.2008 - 141 Hits - 4 Antworten
VBA-Daten kopieren
finger59 09.07.2009 - 174 Hits - 2 Antworten
Daten aus mehrdimensionalem Datenfeld auslesen - VBA
Eleve 03.11.2009 - 194 Hits - 3 Antworten
VBA-Daten übertragen
finger59 04.03.2010 - 350 Hits - 8 Antworten