Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
732to736
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
732to736
732to736
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabellen sortieren

Tabellen sortieren
Jürgen
Hallo ExcelExperten
Habe jetzt lange nach einer Lösung gesucht aber das scheint ja doch ein recht
schwieriges Problem zusein.
Inzwischen habe ich auf Office XP aufgerüstet in der Hoffnung das ich damit bessere Voraussetzungen für die Lösung des folgenden Problem schaffe.
Wie kann ich diese schleife nutzen um Tabellen dynamisch nach ihren Werten in K3 sortieren zu lassen?

Sub Blatter_Sortieren()
Anzahl = ActiveWorkbook.Worksheets.Count
For x = 1 To Anzahl
For y = x To Anzahl
If Worksheets(y).Name < Worksheets(x).Name Then
Worksheets(y).Move Before:=Worksheets(x)
End If
Next y
Next x
End Sub

Kann mir jemand helfen?
Ein anderer Lösungsweg wäre in einem extra Tabellenblatt die Tabellen namendlich untereinander nach der Größe ihrer Werte in K3 aufzulisten und dynamisch zu aktualisieren.
Habe eine Tabelle als Muster vorbereitet.
https://www.herber.de/bbs/user/31180.xls
Vielen Dank schon immer für Euere Mühe.
Gruß Jürgen

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Tabellen sortieren
ransi
hallo jügen
teste mal:
Option Explicit

Sub Blatter_Sortieren()
Dim anzahl As Integer
Dim x As Integer
Dim y As Integer
anzahl = ActiveWorkbook.Worksheets.Count
For x = 2 To anzahl
For y = x To anzahl
If Worksheets(y).Range("K3") < Worksheets(x).Range("K3") Then
Worksheets(y).Move Before:=Worksheets(x)
End If
Next y
Next x
End Sub

ransi
AW: Tabellen sortieren
18.02.2006 16:14:30
Ramses
Hallo
oder hier eine Variante für den alternativen Wert
Option Explicit
Sub Create_Hyperlink_Table_of_Contents()
    'by Ramses
    'Erstellt ein Inhaltsverzeichnis auf alle Tabellen einer
    'Mappe mit Hyperlinks auf die jeweiligen Tabellen
    'und sortiert nach deren Wert in K3
    Dim tarWks As Worksheet
    Dim i As Integer, myRow As Integer, tmpCnt As Integer
    Dim tarWksNewName As String
    'Zieltabelle Namen
    tarWksNewName = "Inhaltsverzeichnis"
    'Blattnamen anpassen
    On Error GoTo myErrorHandler
    Set tarWks = Worksheets(tarWksNewName)
    ErrorResume:
    'Bestehenden Inhalt löschen
    tarWks.Columns(1).ClearContents
    With tarWks
        .Cells(1, 1) = "Inhalt"
        .Cells(1, 2) = "Wert K3"
    End With
    'Erstellen des Inhaltsverzeichnisses
    '**************************
    'Vertikal
    For i = 2 To Worksheets.Count
        If Worksheets(i).Name <> tarWksNewName Then
            With tarWks
                .Cells(i, 1) = Worksheets(i).Name
                .Cells(i, 1).Hyperlinks.Add Anchor:=.Cells(i, 1), Address:="", SubAddress:="'" & Worksheets(i).Name & "'!A1", TextToDisplay:=Worksheets(i).Name
                .Cells(i, 2) = Worksheets(i).Range("K3")
            End With
        End If
    Next i
    'Sortiert das Inhaltsverzeichnis
    'Aufsteigend sortieren
    tarWks.Range("A:B").Sort Key1:=tarWks.Range("B1"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    'Absteigend sortieren
    'tarWks.Range("A:B").Sort Key1:=tarWks.Range("B1"), Order1:=xldescending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal

    ErrorExit:
    Exit Sub
    
    myErrorHandler:
    Debug.Print Err.Number & Err.Description
    Select Case Err.Number
        Case 9 Or -2147352565
            Set tarWks = Worksheets.Add
            With tarWks
                .Name = tarWksNewName
                .Move before:=Worksheets(1)
            End With
            Resume ErrorResume
        Case Else
            MsgBox "Fehler: " & Err.Number & vbCrLf & Err.Description
            Resume ErrorExit
    End Select
End Sub



Gruss Rainer
Anzeige
AW: Tabellen sortieren
19.02.2006 15:18:42
Jürgen
Hallo Excelexperten
Entschuldigung ich habe den VBA mit Office 2000 getestet.
Jetzt aber mit Offes XP und da erscheint beim ausführen des Macros
"Fehler Nr.9, Index ausserhalb des gültigen Bereich."
Könnt Ihr nochmal nachsehen?
mfg Jürgen
AW: Tabellen sortieren
19.02.2006 16:55:40
Ramses
Hallo
".."Fehler Nr.9, Index ausserhalb des gültigen Bereich."..."
Welche Zeile wird markiert, wenn du auf "Debuggen" klickst in der Fehlermeldung ?
Gruss Rainer
AW: Tabellen sortieren
19.02.2006 20:49:04
Jürgen
Hallo Rainer
Nachdem ich das alte Modul entfernt habe und ein neues Modul mit dieser VBA erstellt habe war die Fehlermeldung weg.
Also hiermit ein herzliches Dankeschön für die nicht ganz so einfache Lösung.
Mit freundlichen Gruß
Jürgen
Anzeige
AW: Tabellen sortieren
19.02.2006 20:49:11
Jürgen
Hallo Rainer
Nachdem ich das alte Modul entfernt habe und ein neues Modul mit dieser VBA erstellt habe war die Fehlermeldung weg.
Also hiermit ein herzliches Dankeschön für die nicht ganz so einfache Lösung.
Mit freundlichen Gruß
Jürgen
AW: Tabellen sortieren
19.02.2006 20:49:25
Jürgen
Hallo Rainer
Nachdem ich das alte Modul entfernt habe und ein neues Modul mit dieser VBA erstellt habe war die Fehlermeldung weg.
Also hiermit ein herzliches Dankeschön für die nicht ganz so einfache Lösung.
Mit freundlichen Gruß
Jürgen
AW: Tabellen sortieren
18.02.2006 17:51:00
Jürgen
Hallo Ramses
Habe den VBA in die Tabelle Überblick rein kopiert, aber da tut sich nichts. Wie soll ich das aktivieren? Oder muss ich die Tabelle umbenennen?
Gruß Jürgen
Hallo Ransi
Bei diesem VBA tut sich auch nichts.
Wo genau soll der VBA hin?
mfg Jürgen
Anzeige
AW: Tabellen sortieren
18.02.2006 18:04:18
Ramses
Hallo
"...Bei diesem VBA tut sich auch nichts. ..."
Du musst halt vorher sagen, dass du keine Ahnung von VBA hast.
Wenn du einen Code hereinstellst, gehen wir davon aus, dass du weisst wo der Code hin soll
Mit "Alt"+"F11" den VB-Editor starten
Rechte Maustaste auf "VBA-Projekt DeineArbeitsmappe.xls"
Modul einfügen
Den Code dann in DIESES Modul reinkopieren
Den Code kannst du starten mit "Extras - Makro - Makro ausführen"
oder
über eine Schaltfläche die du aus der Symbolleiste "Formular" auf deine Tabelle ziehst, oder
Eine Schalftfläche einer Symbolleiste zufügst (Ansicht - Symbolleisten - Anpassen - Kategorie:Makros - Benuzerdefinierte Schalftfläche) und dieser dann mit der rechten Maustaste das Makro zuweist
Gruss Rainer
Anzeige
AW: Tabellen sortieren
19.02.2006 09:38:03
Jürgen
Hallo Ramses
Beim ausführen des Macro kommt die Fehlermeldung
Fehler beinm kopilieren, Variable nicht definiert.
In der Zeile "DataOption1:=xlSortNormal
Kannst du mal nachsehen?
MfG Jürgen
AW: Tabellen sortieren
19.02.2006 10:33:59
Ramses
Hallo
Dann verwendest du nicht Office XP
Diese Option wurde mit XP eingeführt
Verwende diese Zeile
tarWks.Range("A:B").Sort Key1:=tarWks.Range("B1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Gruss Rainer

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige