title image


Smiley Re: Wie kann ich Spalten sortieren?
HalloDie Frage verstehe ich nicht ganz, aber vielleicht kannst du ja mit den nachfolgenden Beispielen etwas anfangen.Option ExplicitOption Base 1' In diesem Beispiel wird der Bereich "B3:E12" horizontal' (Zeile für Zeile) vom kleinsten nach dem größten Wert sortiertSub SortierenHorizontal()Dim tB As RangeDim Zahl, TMPDim xZahl(40)Dim n%, i%, y%' Zu Sortierender Bereich festlegenSet tB = Worksheets("Tabelle1").Range("B3:E12")' die zu sortierenden Werte in Variable xZahl() einlesenn = 1For Each Zahl In tB xZahl(n) = Zahl.Value n = n + 1Next' Werte sortieren For i = 1 To 40 For y = 1 To 40 If xZahl(i) TMP = xZahl(i): xZahl(i) = xZahl(y): xZahl(y) = TMP End If Next y Next i' die zu sortierenden Werte in den Bereich eintragenn = 1For Each Zahl In tB Zahl.Value = xZahl(n) n = n + 1NextEnd Sub'-------------------------------------------------------' In diesem Beispiel wird ein markierter Bereich vertikal' (Spalte für Spalte) vom kleinsten nach dem größten Wert sortiertSub SortierenVertikal()Dim tBDim Zahl, TMPDim xZahl(40)Dim n%, i%, y%' Anfangs und Dimension des BereichesDim BegZeile As IntegerDim DimZeile As IntegerDim BegSpalte As IntegerDim DimSpalte As Integer' Adresse des markierten Bereiches ermittelntB = ActiveWindow.RangeSelection.Address' Anfangs und Dimension des Bereiches ermittelnWith ActiveSheet.Range(tB) BegZeile = .Row DimZeile = .Rows.Count BegSpalte = .Column DimSpalte = .Columns.CountEnd Withn = 1For Each Zahl In ActiveSheet.Range(tB) xZahl(n) = Zahl.Value n = n + 1Next' Werte sortieren For i = 1 To 40 For y = 1 To 40 If xZahl(i) TMP = xZahl(i): xZahl(i) = xZahl(y): xZahl(y) = TMP End If Next y Next i' die zu sortierenden Werte in den Bereich eintragenn = 1For i = BegSpalte To (BegSpalte + DimSpalte - 1) For y = BegZeile To (BegZeile + DimZeile - 1) ActiveSheet.Cells(y, i).Value = xZahl(n) n = n + 1 Next yNext iEnd SubAnsonsten melde dich.mfg, GraFri

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: