Office: Schleife für alle Tabellenblätter bis auf das letzte

Helfe beim Thema Schleife für alle Tabellenblätter bis auf das letzte in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Moin, ich möchte gerne in Excel Tabellen per VBA sortieren lassen. Es sollen alle Blätter sortiert werden, bis auf das letzte Blatt in der Mappe. Der... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von MarcelSch, 27. Mai 2019.

  1. Schleife für alle Tabellenblätter bis auf das letzte


    Moin,

    ich möchte gerne in Excel Tabellen per VBA sortieren lassen.
    Es sollen alle Blätter sortiert werden, bis auf das letzte Blatt in der Mappe.

    Der Code zum sortieren klappt ganz gut, aber wie schließe ich das letzte Blatt aus?
    Über Namen des Tabellenblatts oder Anzahl kann ich nicht gehen, da das immer unterschiedlich ist.

    Mein bisheriger Code, für alle Blätter der Mappe:

    Code:
    Gruß
    Marcel

    :)
     
    MarcelSch, 27. Mai 2019
    #1
  2. Hey,

    Code:
    Gruß
    Thomas
     
    TommyDerWalker, 29. Mai 2019
    #2
  3. Hallo Marcel,

    so?

    Dim lngIndex As Long

    For lngIndex = 1 To ThisWorkbook.Worksheets.Count - 1

    With ThisWorkbook.Worksheets(lngIndex)

    .Sort.SortFields.Clear 'alle ggf. vorhergegangenen Sortierungen löschen


    'Sortieroption 1, nach Status
    .Sort.SortFields.Add Key:=Range("F6:F80" _
    ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

    'Sortieroption2, nach Artikelnr.
    .Sort.SortFields.Add Key:=Range("D6:D80" _
    ), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:="0-99999", _
    DataOption:=xlSortNormal


    With .Sort
    .SetRange Range("B5:H80") 'Bereich, der sortiert werden soll
    .Header = xlYes 'Auswahl hat überschriften
    .MatchCase = False 'groß und kleinschreibung berücksichtigen
    .Orientation = xlTopToBottom 'Sortieren von oben nach unten
    .SortMethod = xlPinYin 'sortiermethode für andere sprachen
    .Apply 'sortieren ausführen
    End With

    'Aufheben der markierungen vom sortieren
    'Application.Goto Reference:=.Range("A6")
    End With
    Next

    Application.ScreenUpdating = True
     
    Nepumuk, 29. Mai 2019
    #3
  4. Schleife für alle Tabellenblätter bis auf das letzte

    Moin Thomas,

    danke, das scheint zu klappen!

    Könntest du mir noch kurz erklären,
    was der Code

    wks.Index ActiveWorkbook.Sheets.Count

    genau bewirkt?

    Gruß und danke,

    Marcel
     
    MarcelSch, 29. Mai 2019
    #4
  5. Hey,

    klar!

    Du schleifst ja durch alle Blätter und nutzt dafür die variable wks.
    Der Index ist die Stelle an der das Blatt in der Datei steht.
    Also hat das erste Blatt ganz links in der Mappe den Index 1 das zweite Blatt den Index 2 usw.
    Mit ActiveWorkbooks.Sheets.Count zählst Du alle Sheets die vorhanden sind.
    Sagen wir mal es sind insgesamt 5 Blätter, dann würde die Variable wks.Index im ersten Durchlauf der Schleife den Wert 1 haben und das ActiveWorkbook.Sheets.Count würde immer den Wert 5 haben (5 Blätter insgesamt)
    In der If Bedingung sagst Du also
    IF wks.index (1) (etwas anderes) als ActiveWorkbooks.Sheets.Count(5) dann führe den Code aus.
    Ansonsten springe direkt weiter zum End If

    Ich hoffe das war einigermaßen verständlich *tongue.gif*

    Gruß
    Thomas
     
    TommyDerWalker, 29. Mai 2019
    #5
  6. Moin Thomas,

    vielen Dank für die Erklärung, jetzt hab ich es verstanden.

    Gruß
    Marcel
     
    MarcelSch, 29. Mai 2019
    #6
Thema:

Schleife für alle Tabellenblätter bis auf das letzte

Die Seite wird geladen...
  1. Schleife für alle Tabellenblätter bis auf das letzte - Similar Threads - Schleife Tabellenblätter letzte

  2. Verkettung von Zellen - Schleife

    in Microsoft Excel Hilfe
    Verkettung von Zellen - Schleife: Hallo, folgendes Problem: Ich möchte in einer Tabelle die Texte in Spalte A mit den Texten in Spalte B verketten. Dazu benutze ich folgenden Code: Sub VerkettungAB() Range("E2").Value =...
  3. While-Schleife wird nicht beendet

    in Microsoft Access Hilfe
    While-Schleife wird nicht beendet: Hallo Forum Ein aus einem Unterformular soll in ein Feld im Hauptformular übernommen (fix abgespeichert) werden. Das Feld wurde nachträglich im Hauptformular (+ Tabelle) eingefügt. Nun habe ich...
  4. For Next Schleife

    in Microsoft Excel Hilfe
    For Next Schleife: Hallo zusammen, da bin ich wieder und wie kann es anders sein mit einem Problem. Ich habe eine Tabelle (im Anhang) dort soll die Werte in Zellen a/b/f kopiert werden und in die erste frei Zeile...
  5. VBA Schleife kopieren und einfügen von Spalten

    in Microsoft Excel Hilfe
    VBA Schleife kopieren und einfügen von Spalten: Hallo Zusammen, Ich habe auf einem Tabellenblatt eine variable Anzahl an Spalten mit Daten die auch eine variable Anzahl an Zeilen haben, auch mit Lücken in den Zeilen. Die Spalten mit den Infos...
  6. Eine Schleife mit zwei tebellen vba Access

    in Microsoft Access Hilfe
    Eine Schleife mit zwei tebellen vba Access: Hallo zusammen! Es gibt’s zwei Tabellen und ich wollte aus zweiter Tabelle die Daten nach einem Kriterium (FLTR=0) an erste Tabelle übertragen (kopieren). Geht aber nicht. Hier ist mein Kode,...
  7. Bestimmte Daten zwischen innerhalb eines Datumsbereichs einer Tabelle Anfügen

    in Microsoft Access Hilfe
    Bestimmte Daten zwischen innerhalb eines Datumsbereichs einer Tabelle Anfügen: Hallo, ich habe per Google und Foren SuFu leider nichts passendes finden können, wage aber zu bezweifeln, dass Access da an seine Grenzen kommt, da es eigentlich recht banal ist. Ich habe eine...
  8. Schleife über mehrere Tabellenblätter.

    in Microsoft Excel Hilfe
    Schleife über mehrere Tabellenblätter.: Moin mal wieder, ich bin eine absolute VBA Null. Wäre nett, wenn mir einer mal erklären könnte wie ich folgendes Makro mittels einer Schleife über 7 meiner 8 Tabellenblätter laufen lassen kann....
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden