Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Spalten nach Alphabet sortieren

Spalten nach Alphabet sortieren
01.10.2014 21:34:10
Markus
HAllo zusammmen,
ich habe eine Datei mit mehreren 1000 Zeilen - jeweils max. bestehend aus Einträgen in 10 Spalten (A bis J).
Hat jemand eine Idee, wie ich jede Zeile nach Alphabet sortieren kann.
Also statt
A Z D B F G T U S V
F K M N A
so
A B D F G S T U V Z
A F K M N
Wäre super, wenn mir jemand helfen könnt.
Vielen Dank!
Viele Grüße
Markus

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten nach Alphabet sortieren
01.10.2014 21:40:40
Peter
Hallo Markus,
versuche es einmal so:
'
'    alle Zeilen (jede für sich) aufsteigend sortieren
Public Sub ZeilenSort()
Dim WkSh     As Worksheet
Dim lZeile   As Long
Dim iSpalte  As Integer
Set WkSh = Worksheets("Tabelle2")
With WkSh
For lZeile = 1 To WkSh.Cells(Rows.Count, 1).End(xlUp).Row
WkSh.Range(WkSh.Cells(lZeile, 1), WkSh.Cells(lZeile, _
WkSh.Cells(lZeile, 256).End(xlToLeft).Column)).Sort _
Key1:=WkSh.Cells(lZeile, 1), Order1:=xlAscending, _
Header:=xlNo, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlLeftToRight
Next lZeile
End With
End Sub
Gruß Peter

Anzeige
AW: Spalten nach Alphabet sortieren
02.10.2014 06:12:30
Markus
Hall Peter,
ich bekomme beim Start einen Laufzeitfehler.
Markiert wird folgende Stelle im Makro:
WkSh.Range(WkSh.Cells(lZeile, 1), WkSh.Cells(lZeile, _
WkSh.Cells(lZeile, 256).End(xlToLeft).Column)).Sort _
Key1:=WkSh.Cells(lZeile, 1), Order1:=xlAscending, _
Header:=xlNo, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlLeftToRight
Hast Du noch eine Idee?`
Viele Grüße
Markus

Anzeige
AW: Spalten nach Alphabet sortieren
02.10.2014 06:37:54
Hajo_Zi
Hallo Markus,
es gibt Tabelle2 mit Daten?

AW: Spalten nach Alphabet sortieren
02.10.2014 10:21:50
Peter
Hallo Markus,
die Daten stehen bei mir im Tabellenblatt "Tabelle2" ab Zeile 1
Option Explicit
'    alle Zeilen (jede für sich) aufsteigend sortieren
Public Sub ZeilenSort()
Dim WkSh     As Worksheet
Dim lZeile   As Long
Dim iSpalte  As Integer
Dim lLetzte  As Long
Set WkSh = Worksheets("Tabelle2") ' den Tabellenblattnamen ggf. anpassen!
With WkSh
lLetzte = .Columns("A:Z").Find("*", SearchDirection:=xlPrevious).Row
For lZeile = 1 To lLetzte
iSpalte = IIf(IsEmpty(Cells(lZeile, Columns.Count)), Cells(lZeile, _
Columns.Count).End(xlToLeft).Column, Columns.Count)
WkSh.Range(WkSh.Cells(lZeile, 1), WkSh.Cells(lZeile, iSpalte)).Sort _
Key1:=WkSh.Cells(lZeile, 1), Order1:=xlAscending, _
Header:=xlNo, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlLeftToRight
Next lZeile
End With
End Sub
Das Makro noch etwas an die jetzt größere Spaltenanzahl angepasst.
Gruß Peter

Anzeige
AW: jetzt mit Dokumentation
02.10.2014 11:14:28
Peter
Hallo Markus,
ich habe noch Dokumentation hinzugefügt.
Option Explicit
'    alle Zeilen (jede für sich) aufsteigend sortieren
Public Sub ZeilenSort()
Dim WkSh     As Worksheet
Dim lZeile   As Long
Dim iSpalte  As Integer
Dim lLetzte  As Long
Set WkSh = Worksheets("Tabelle2") ' den Tabellenblattnamen ggf. anpassen!
With WkSh
lLetzte = .Columns("A:Z").Find("*", SearchDirection:=xlPrevious).Row
For lZeile = 1 To lLetzte
iSpalte = IIf(IsEmpty(.Cells(lZeile, Columns.Count)), .Cells(lZeile, _
.Columns.Count).End(xlToLeft).Column, Columns.Count)
.Range(.Cells(lZeile, 1), .Cells(lZeile, iSpalte)).Sort _
Key1:=.Cells(lZeile, 1), Order1:=xlAscending, _
Header:=xlNo, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlLeftToRight
Next lZeile
End With
End Sub
Gruß Peter

Anzeige
AW: jetzt mit Dokumentation
02.10.2014 12:01:51
Markus
Hallo Peter,
funktioniert bestens. :-)
Danke für Deine Hilfe!
Viele Grüße
Markus

AW: Spalten nach Alphabet sortieren
02.10.2014 12:34:12
Kathrin
Was hältst du hiervon:
Private Sub Workbook_Open()
'Datei immer mit dem Tabellenblatt "Übersicht" öffnen
Sheets("Übersicht").Select
' Sortieren von Arbeitsblättern
Dim i As Integer, j As Integer, k As Integer
k = ActiveWorkbook.Worksheets.Count
For i = 1 To k
For j = i To k
If Worksheets(j).Name 
Hier kannst du gleich noch ein Tabellenbklatt auswählen, welches immer als erstes geöffnet werden soll sowie z.B. ein bestimmtes Tabellenblatt nach dieser Sortierung an eine bestimmte Stelle setzen.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige