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

Tabellen nach Alphabet sortieren?

Forumthread: Tabellen nach Alphabet sortieren?

Tabellen nach Alphabet sortieren?
27.05.2003 10:50:00
Thomas
Liebes Forum!

Gibt es die Möglichkeit Tabellen zu sortieren? (zB nach Alphabet)

Liebe Grüße
Thomas

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Tabellen nach Alphabet sortieren?
27.05.2003 10:52:05
andreas e

hallo thomas - meinst du die sheets innerhalb der arbeitsmappe oder was willst du sortieren ?
gruß
andreas e

Re: Tabellen nach Alphabet sortieren?
27.05.2003 10:56:02
Martin


Sub SortSheets()
' This routine sorts the sheets of the
' active workbook in ascending order.

Dim SheetNames() As String
Dim i As Integer
Dim SheetCount As Integer
Dim VisibleWins As Integer
Dim Item As Object
Dim OldActive As Object

' Check for protected workbook structure
If ActiveWorkbook.ProtectStructure Then
MsgBox ActiveWorkbook.Name & " is protected.", _
vbCritical, "Cannot Sort Sheets"
Exit Sub
End If

' Disable Ctrl+Break
Application.EnableCancelKey = xlDisabled

' Exit if no windows are visible
VisibleWins = 0
For Each Item In Windows
If Item.Visible Then VisibleWins = VisibleWins + 1
Next Item
If VisibleWins = 0 Then Exit Sub

' Get the number of sheets
SheetCount = ActiveWorkbook.Sheets.Count

' Redimension the array
ReDim SheetNames(1 To SheetCount)

' Store a reference to the active sheet
Set OldActive = ActiveSheet

' Fill array with sheet names and hidden status
For i = 1 To SheetCount
SheetNames(i) = ActiveWorkbook.Sheets(i).Name
Next i

' Sort the array in ascending order
Call BubbleSort(SheetNames)

' Turn off screen updating
Application.ScreenUpdating = False

' Move the sheets
For i = 1 To SheetCount
ActiveWorkbook.Sheets(SheetNames(i)).Move _
ActiveWorkbook.Sheets(i)
Next i

' Reactivate the original active sheet
OldActive.Activate
End Sub

Sub BubbleSort(List() As String)
' Sorts the List array in ascending order
Dim First As Integer, Last As Integer
Dim i As Integer, j As Integer
Dim Temp

First = LBound(List)
Last = UBound(List)
For i = First To Last - 1
For j = i + 1 To Last
If UCase(List(i)) > UCase(List(j)) Then
Temp = List(j)
List(j) = List(i)
List(i) = Temp
End If
Next j
Next i
End Sub


ich meine der Code ist von John Walkenbach, dem xl Guru.

Gruss,
Martin

Anzeige
Re: Tabellen nach Alphabet sortieren?
27.05.2003 10:58:34
Thomas

hab schon was geeignetes gefunden!
----------------------------------------------------------------
Sub sorter()
AnzahlRegister = Sheets.Count
For i = 1 To AnzahlRegister - 1
X = i
For Zähler = i + 1 To AnzahlRegister
If UCase$(Sheets(Zähler).Name) < UCase$(Sheets(X).Name) Then
X = Zähler
End If
Next Zähler
If X > i Then Sheets(X).Move Sheets(i)
Next i
End Sub

-----------------------------------------------------------
aber danke für die hilfe.

lg
thomas

Anzeige
Re: Tabellen nach Alphabet sortieren?
27.05.2003 11:04:43
Martin

zugegeben, ist kürzer und einfacher ;-)

Martin

Re: Tabellen nach Alphabet sortieren?
27.05.2003 11:11:22
Thomas

man lernt hier (und bei vba) nie aus. echt unglaublich!

lg
thomas

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige