Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
248to252
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
248to252
248to252
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA-Tabellenblatt sortieren

VBA-Tabellenblatt sortieren
02.05.2003 22:44:39
Ernst Dunkel
Guten Abend Forum
Wie kriege ich es hin, dass die Tabellenblätter aufsteigend sortiert werden. Mit dem untenstehenden Code kann man sortieren, aber der Code funktioniert nicht einwandfrei.
Z.B. bei Tabellenblatt-Nummern 1 101 2 25 30 8 etc.
Ich hätte gerne dass die Sortierung 1 2 8 25 30 101 ergibt.

Für eine Lösung bin ich dankbar.
Gruss
Ernst Dunkel


Sub TabellenSortieren()
Dim i As Integer
Dim j As Integer
For i = 5 To Sheets.Count
For j = 5 To Sheets.Count - 1
If UCase$(Sheets(j).Name) > _
UCase$(Sheets(j + 1).Name) Then
Sheets(j).Move after:=Sheets(j + 1)
End If
Next j
Next i
End Sub



8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: VBA-Tabellenblatt sortieren
02.05.2003 22:54:00
Charly

Hi Ernst,
versuchs mal so.

For iFirst = 5 To iCount
For iSecond = iFirst To iCount
If UCase(Sheets(iSecond).name) < UCase(Sheets(iFirst).name) Then
Sheets(iSecond).Move before:=Sheets(iFirst)
End If
Next iSecond
Next iFirst

von L.Vira
Gruss Charly

Tut sich nichts: VBA-Tabellenblatt sortieren
02.05.2003 23:22:28
Ernst Dunkel

Hallo Charly

Danke für Deinen Code, aber da tut sich nichts, obwohl ich die Variablen am Anfang deklariert habe.

Gruss
Ernst

sorry, Nachtrag
02.05.2003 23:27:23
Charly

Sorry Ernst,
der Code hat das selbe Ergebnis wie deiner.
Wenn du aber die Möglichkeit hast die Tabellen
umzubenennen( 1 in 001) dann funkts.

Gruss Charly

Anzeige
Re: VBA-Tabellenblatt sortieren
02.05.2003 23:31:32
Ramses

Hallo Ernst,

was soll sich da denn tun ?

For i = 5 to Sheets.Count

wenn du 6 Blätter hast wird die erste Schleife einmal gestartet

For j = 5 To Sheets.Count - 1

Hier wird die zweite Schleife erst gar nicht gestartet.


Sub Sort_Sheets()
Dim wks As Integer, x As Integer, y As Integer
On Error Resume Next
With Application
    .ScreenUpdating = False
    wks = ActiveWorkbook.Sheets.Count
    For y = 1 To wks
        For x = y To wks
            If Sheets(x).Name < Sheets(y).Name Then
                Sheets(x).Move Before:=Sheets(y)
            End If
        Next
    Next
    .ScreenUpdating = True
End With
End Sub
 
     Code eingefügt mit Syntaxhighlighter 1.16

Gruss Rainer

Anzeige
nicht möglich! was nun
02.05.2003 23:55:14
Ernst Dunkel

Hallo Charly
Leider habe ich keine Möglichkeit die Blätter um zu nennen, da die Blattnamen gleich der Raumnummer in der Tabelle ist.
Die Nummern können so aussehen:
Für das Untergeschoss: 01 02 ..
Für das Erdgeschoss: 1 2 ..
Für das 1.Obergeschoss: 101 102 ..
etc.

Was nun?

Wünsche Dir noch eine gute Nacht.

Ernst Dunkel


Re: nicht möglich! was nun
03.05.2003 00:00:15
Ramses

Hallo Ernst,

Wenn deine Tabellenbezeichnungen nur Zahlen sind, verwende folgendes:


Sub Sort_Sheets()
Dim wks As Integer, x As Integer, y As Integer
On Error Resume Next
With Application
    .ScreenUpdating = False
    wks = ActiveWorkbook.Sheets.Count
    For y = 1 To wks
        For x = y To wks
            If Int(Sheets(x).Name) < Int(Sheets(y).Name) Then
                Sheets(x).Move Before:=Sheets(y)
            End If
        Next
    Next
    .ScreenUpdating = True
End With
End Sub 
     Code eingefügt mit Syntaxhighlighter 1.16

Gruss Rainer

Anzeige
Re: VBA-Tabellenblatt sortieren
03.05.2003 00:36:32
Ernst Dunkel

Hallo Rainer
Danke für Deinen Code, aber der führt auch nicht auf das gewünschte Resultat!

Probiers mal mit den Bltattnummern: 2, 101, 5, 15, 1, 8 ...
Sortiert sollte sein: 1, 2, 5, 8, 15, 101

Bis Morgen

Gruss Ernst



es geht!
03.05.2003 00:43:30
Ernst Dunkel

Hallo Rainer
Dein Code funktioniert.

Recht herzlichen Dank für Deinen Mitternacht-Einsatz.


Gruss und schlafe gut.
Ernst Dunkel


307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige