Bin für jeden Tipp dankbar!!
Gruß Mac
Gruß Mac
Gruß Mac
folgendes Makro sortiert mit (einfachstem) BubbleSort-Algorithmus, der zum besseren Verständnis (für Dich) nicht 'verdichtet' wurde. Bitte *Option Compare Text* in der Hilfe zusätzlich lesen.
Sub SortierenInZelle()
Dim i As Long, x As String, ts1 As String, ts2 As String
With ActiveWorkbook.Worksheets("Sortieren")
x = Cells(1, 1).Text
For i = 1 To Len(x) ' Len(x) - 1 für aufsteigende Sort. (<)
ts1 = Left(Right(x, Len(x) - i), 1)
ts2 = Right(Left(x, i), 1)
If ts1 > ts2 Then ' "<" für aufsteigende Sort.
x = Left(x, i - 1) & ts1 & ts2 & Right(x, Len(x) - i - 1)
ts1 = "": ts2 = "": i = 0
End If
Next i
End With
End Sub
MfG Mario
*das* habe ich nun dem User und seinem Quotienten überlassen; wie wäre es mit:
Cells(1, 1) = x
oder:
Debug.Print x (in der Schleife, zeigt recht schön den Bubble-Effekt)
oder eben:
MsgBox x
und so weiter ...
Einen schönen und friedlichen 2. Advent wünscht Mario
gibt das Makro auch nur eine Fehlermeldung aus:
'Index außerhalb des gültigen Bereichs'...
Das kann doch nicht so schwierig sein, ich habe eine Tabelle mit alphanumerischen Werten, die innerhalb der jeweilen Zelle alphabetisch sortiert dargestellt werden sollen... *grummel*
Gruß Mac
kann eigentlich nicht schwierig sein:
Den Blattindex (Worksheet(x)) sollte man natürlich an eigene Gegebenheiten anpassen. Und wenn das Ganze für mehrere Zellen gelten soll, dann muss das in eine Schleife. Und wenn man das nicht kann, dann sollte man präzise und direkt anfragen, u.a. mit Nennung des Blattnamens, des interessierenden Zellbereiches u.ä. MfG Mario
Hinweis: Dies ist ein Forum zur Hilfe bei Excel-Problemen. Es ist kein Chat.
Hier ist es üblich, die Hilfestellung hinzuschreiben, es ist nicht erwünscht, das Archiv, in das alle Beiträge kommen, unnötig aufzublähen.
MfG Mario
Noch ein 3. Mal: EINE einzige (in Zahlen: 1) Zelle soll sortiert werden, wozu das Ganze also in eine Schleife oder Bereich angeben?? - Ach, was rede ich, ich glaube, ich geb's lieber auf.
Mac
ehe Du hier weiter spitze und selbstentlarvende Reden absonderst: Schau Dir mein Posting vom 07.12.2002 - 19:49:45 an. Schau es an! Dort wird genau EINE Zelle (nämlich Zelle A1), und zwar auf dem Tabellenblatt "Sortieren" sortiert. Es werden Dir sogar Notationen für ab- und aufsteigende Sortierungen gezeigt, eben weil dazu keine Aussage Deinerseits existiert. Und wenn das Tabellenblatt bei Dir anders heißt, dann musst Du es umbenennen oder den Namen an der entsprechenden Stelle im Quelltext eintragen. Und wenn das sortierte Ergebnis wieder in die selbe Zelle eingetragen werden soll, dann muss nach *Next i* die Zeile:
Cells(1, 1) = x
eingefügt werden.
Mario