Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Makro Sortieren





Frage

Hallo, da ich auf dieser Seite schon sehr viel Infos zu Problemen bekommen habe, habe ich nun ein eigenes.! Für VBA Kenner von EXEL wird das wahrscheinlich eine einfache Frage sein aber ich kenn mich Leider nicht so damit aus.. Ich habe eine Tabelle in der der Folgende Inhalt steht: z.B. -1Z12 -4D22 -55K75 -76A22 -5M132 ich möchte diese Daten so sortieren das er nicht mehr nach den Zahlen sortier sondern nach den buchstaben. d.H. die Tabelle soll so aussehen: -76A22 -4D22 -5M132 -55K75 -1Z12 ist das realisierbar.. Hoffe mir kann da jemand weiterhelfen.. Vielen Dank im Vorraus P.S. bis jetzt habe ich folgenden Code [code] Option Explicit Sub Sortieren() End Sub [/code]

Antwort 1 von Guenter

Hallo,

also Dein Anfang ist schon mal richtig!

Dieses Makro zerlegt den Inhalt aus Spalte A und schreibt den ersten Buchstaben in die Spalte B, dann wird die Tabelle nach diesen Buchstaben in Spalte B sortiert und anschließend die Spalte B gelöscht.
Jetzt musst Du das Ganze noch für Dich anpassen.


Option Explicit

Sub sortieren()
  Dim n%, m%
  Dim Text1$
  For n = 1 To Cells(Rows.Count, 1).End(xlUp).Row
    Text1 = Cells(n, 1).Value
    For m = 1 To Len(Text1)
      If Not IsNumeric(Mid$(Text1, m, 1)) Then
        Cells(n, 2).Value = Mid$(Text1, m, 1)
      End If
    Next m
  Next n
  Cells.Select
  Selection.Sort Key1:=Range("B1"), Order1:=xlAscending, Header:=xlGuess, _
     OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
  Columns("B:B").Select
  Selection.Delete Shift:=xlToLeft
End Sub


Gruß
Günter


Antwort 2 von m4Z

Super Danke das funktioniert schon einmal einwandfrei..

Das Makro sortiert allerdings jetzt erst den Buchstaben und dann die Zahl die Davor steht. geht es auch das er erst den Buchstaben dann die Zahl dahinter und dann die Davor Sortiert? Ich hoffe du verstehst was ich meine.

Nochmal DAnke Gruß Matthias

Antwort 3 von m4Z

Entschuldigung die Zahl davor ist total uninteresant.. Ich brauche erst die Buchstaben und dann die Zahl die dahinter steht..

Antwort 4 von Guenter

Hallo,

das geht so:


Option Explicit

Sub sortieren()
  Dim n%, m%
  Dim Text1$
  For n = 1 To Cells(Rows.Count, 1).End(xlUp).Row
    Text1 = Cells(n, 1).Value
    For m = 1 To Len(Text1)
      If Not IsNumeric(Mid$(Text1, m, 1)) Then
        Cells(n, 2).Value = Mid$(Text1, m, 1)
        Cells(n, 3).Value = Mid$(Text1, m + 1)
      End If
    Next m
  Next n
  Cells.Select
  Selection.Sort Key1:=Range("B1"), Order1:=xlAscending, Key2:=Range("C1") _
    , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
    False, Orientation:=xlTopToBottom
  Columns("B:C").Select
  Selection.Delete Shift:=xlToLeft
End Sub



Gruß
Günter

Antwort 5 von m4Z

Super.. genau so wollte ich es haben.

Günter vielen vielen Dank..
DAs hätte ich auf gar keinen Fall hinbekommen :)

Gruß Matthias

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: