3.7k Aufrufe
Gefragt in Tabellenkalkulation von flori006 Einsteiger_in (88 Punkte)
Ich wünsche einen schönen Tag, und hoffe es findet sich wieder jemand im Forum der mir helfen kann.

Ich weiß nicht wieviel Anleitungen, Formeln und Tips ich hier gelesen und teilweise ausprobiert habe. Leider war nichts Passendes dabei.
Es geht um das Sortieren von Werten in einer Spalte. Evtl. bin ich immer daran gescheitert weil die Werte sehr unterschiedlich sind.

Ich habe Excel 2003 und mache in der Tabelle meine Eingabe in D1
Die Eingaben sehen z.B. wie folgt aus:

erff003
iff323
urff071
haff030
haff039
dlff037
spff023
dlff128
9aff012
smff027
9aff007
laff029
yoff025
lzff054

nach der Bestätigung eines Speicherbuttons tragen sich die Werte ab A2 fortlaufend wie zuvor ein. Ich dachte wegen der besseren Übersicht diese mit einem zusätzlichen Button sortieren zu können.
Die Sortierung in der Spalte sollte wie folgt aussehen:
Ab A2 zuerst alle Werte die mit einer 1 beginnen; dann weiter mit 2;3; usw. Nach den Zahlen nun die Buchstaben alphabetisch von A-Z.

Auch jede einzelne Stelle der Werte selbst von links nach rechts gelesen müssen beim Sortieren wie vor berücksichtigt werden. Ich hoffe ich habe mich verständlich genug ausgedrückt.
Ich habe zu wenig Kenntnis ob diese Art Sortierung mit Excel überhaupt möglich ist. Ich bräuchte also einen VBA Code den ich in ein Makro einbinden kann.

Auf eine Lösung würde ich mich freuen und sag schon einmal
herzlichen Dank

14 Antworten

0 Punkte
Beantwortet von saarbauer Profi (15.5k Punkte)
hallo,

wenn du nach A sortierst, könnendie Daten in D nicht passend sortieren

Du musst dann nach D sortieren

Gruß

Helmut
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Flori,

Helmut hat Recht, Du hast bestimmt in Spalte A Formeln.

Gruß Hajo
0 Punkte
Beantwortet von flori006 Einsteiger_in (88 Punkte)
Hallo Helmut
hallo Hajo;

ich habe heute morgen mein Problem gelöst.
Ich habe das Makro jetzt aufgezeichnet und ein Sortierbutton angelegt.
Formeln stehen nicht in Spalte A .
Es sieht nun so aus:

Sub Sortieren()
Range("A2:A65536").Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub

Wenn der Sortiervorgang beendet ist bleibt Spalte A markiert. Ist es möglich das Aufheben der Markierung noch über den Code zu steuern ?
Mein Problem gestern lag wohl an der Markierung.

So funktioniert alles wie gewollt.

Gruß
flori006
0 Punkte
Beantwortet von fedjo Experte (2.1k Punkte)
Hallo flori006 ,
Select ist nicht nötig.

Gruß
fedjo


Sub Sortieren()
Application.CutCopyMode = False
Range("A2:A65536").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub
0 Punkte
Beantwortet von nighty Experte (6.3k Punkte)
hi all ^^

statt 65536 wuerde ich rows.count vorschlagen

gruss nighty
0 Punkte
Beantwortet von saarbauer Profi (15.5k Punkte)
Hallo,

wenn du nach Spalte A sortierst können die Daten in Spalte d nur richtig sortiert sein, wenn die Spalten einen identischen Inhalt haben, sonst passt es nicht oder deine Daten in Spalte A und D sind irgendwie , ob durch Zufall oder andere Abhängigkeiten ebenfalls genauso aufsteigend wie die Daten in Spalte A

Gruß

Helmut.
0 Punkte
Beantwortet von flori006 Einsteiger_in (88 Punkte)
Hallo zusammen;

erst einmal vielen Dank für Eure schnelle Hilfe !

Ich habe den Code einfach geändert wie fedjo vorgeschlagen hat.
Also nur Select weggelassen. So läuft nun alles wie ich es haben möchte.

Also, wieder was gelernt -
beste Grüße und schönen Sonntag

flori006
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo flori,

es wird aber nur Spalte A sortiiert, falls die anderen Spalten auch sortiert werden sollen und es sind keine Leerspalten oder Leerzeilen vorhanden reicht Range("A2")........

Gruß Hajo
0 Punkte
Beantwortet von flori006 Einsteiger_in (88 Punkte)
Guten Tag Hajo;

danke für die mail.
Es sollte schon so sein das nur Spalte A ab Zeile 2 sortiert wird.

Also ich bin sehr zufrieden so wie es jetzt läuft.

Sollte ich mal wieder mit Excel nicht weiterkommen, werde ich mich gerne wieder an Euch wenden.

Besten Dank
Gruß
flori006
0 Punkte
Beantwortet von flori006 Einsteiger_in (88 Punkte)
Einen schönen guten Tag allerseits;

seit einigen Stunden komme ich mit Excel mal wieder nicht weiter, und hoffe das mir jemand helfen kann. Habe natürlich schon viel im Forum gesucht, aber nichts Passendes gefunden.

Ich habe mir ein kleinesLog erstellt was im großen Ganzen schon ganz gut funktioniert.

Mein Problem ist jetzt:
In K1 habe ich folgenden Befehl geschrieben -

=WENN(ZÄHLENWENN(A:A;A:A)>1;"Gelogt !";"")

Ich möchte aber gerne das erst ab A3 gezählt wird da ich A1und A2 für die Überschrift gebrauchen möchte.

Das andere Problem ist ein erstelltes Makro zu Löschen des letzten Eintrags wie folgt -

Sub Löschen()
MsgBox "Gelöscht"
Range("A" & Range("A65536").End(xlUp).Row).ClearContents
End Sub

Hierbei hätte ich gerne das genau wie in Spalte A auch der letzte Eintrag in Spalte D und F mitgelöscht wird.

Vielen Dank für Eure Mühe
Gruß flori006
...