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

Forumthread: VBA automatisch sortieren bei Öffnen

VBA automatisch sortieren bei Öffnen
30.07.2021 17:43:19
Marko
Hallo in die Runde,
ich bin auf der Suche nach einem Makro, mit dem nach dem Öffnen eines Sheets in dem Zellenbereich H5:H100 die Werte aufsteigend sortieren und wenn der Zellenwert = 0, dann soll die Zeile ausgeblendet werden. Hierbei benötige ich Eure Unterstützung. Vielen Dank und Gruß, Marko
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA automatisch sortieren bei Öffnen
30.07.2021 17:44:47
Hajo_Zi
benutze den Makrorecorder, Code unter DieseArbeitsmappe open Ereignis.
GrußformelHomepage
Anzeige
VBA automatisch sortieren bei Öffnen
30.07.2021 18:20:52
Marko
Hallo Hajo,
danke für den Hinweis. Leider bekomme ich es mit dem aufgezeichneten Makro nicht hin.
Gruß Marko
zeig mal das Makro? owT
30.07.2021 18:22:27
ralf_b
VBA automatisch sortieren bei Öffnen
30.07.2021 18:26:48
Marko

Sub Makro1()
' Makro1 Makro
Range("J44").Select
ActiveWorkbook.Worksheets("Femira").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Femira").AutoFilter.Sort.SortFields.Add2 Key:= _
Range("H4:H35"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Femira").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub

Anzeige
AW: VBA automatisch sortieren bei Öffnen
30.07.2021 18:46:09
Nepumuk
Hallo Marko,
in das Modul "DieseArbeitsmappe":

Option Explicit
Private Sub Workbook_Open()
Call Sortieren
End Sub
In ein Standardmodul (Menüleiste im VBA-Editor - Einfügen - Modul):

Option Explicit
Public Sub Sortieren()
With ThisWorkbook.Worksheets("Femira").AutoFilter.Sort
.SortFields.Clear
.SortFields.Add2 Key:=ThisWorkbook.Worksheets("Femira").Range("H4"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Gruß
Nepumuk
Anzeige
AW: VBA automatisch sortieren bei Öffnen
30.07.2021 18:55:07
GerdL
Moin,
noch einer.

Private Sub Workbook_Open()
Call Unit
End Sub


Sub Unit()
With Tabelle1.Range("H4:H100")
.Sort key1:=Tabelle1.Range("H5"), order1:=xlAscending, Header:=xlYes
.AutoFilter
.AutoFilter field:=1, Criteria1:="" & 0
End With
End Sub
Gruß Gerd
Anzeige
Dankeschön
31.07.2021 09:00:40
Marko
Vielen Dank für Eure Unterstützung, jetzt funktioniert's...
Gruß Marko

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA automatisch sortieren bei Öffnen


Schritt-für-Schritt-Anleitung

Um eine automatische Sortierung in Excel beim Öffnen einer Arbeitsmappe durchzuführen, kannst Du die folgenden Schritte befolgen:

  1. Öffne den VBA-Editor: Drücke ALT + F11.

  2. Füge ein neues Modul hinzu: Rechtsklicke auf "VBAProject (DeinWorkbookName)" > Einfügen > Modul.

  3. Füge den folgenden Code ein:

    Option Explicit
    Public Sub Sortieren()
       With ThisWorkbook.Worksheets("Femira").AutoFilter.Sort
           .SortFields.Clear
           .SortFields.Add2 Key:=ThisWorkbook.Worksheets("Femira").Range("H4"), _
           SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
           .Header = xlYes
           .MatchCase = False
           .Orientation = xlTopToBottom
           .SortMethod = xlPinYin
           .Apply
       End With
    End Sub
  4. Füge den Workbook_Open Code hinzu: Doppelklicke auf "DieseArbeitsmappe" und füge folgenden Code ein:

    Option Explicit
    Private Sub Workbook_Open()
       Call Sortieren
    End Sub
  5. Speichere die Arbeitsmappe als Makro-aktivierte Datei (.xlsm).


Häufige Fehler und Lösungen

  • Fehler: Makro funktioniert nicht
    Lösung: Stelle sicher, dass Du die Datei als Makro-aktiviert gespeichert hast und die Sicherheitseinstellungen für Makros entsprechend eingestellt sind.

  • Fehler: Daten werden nicht sortiert
    Lösung: Überprüfe, ob der angegebene Bereich korrekt ist und ob das AutoFilter aktiviert ist.

  • Fehler: Zeilen mit Wert 0 bleiben sichtbar
    Lösung: Füge eine Filterbedingung hinzu, um Zeilen mit 0 auszublenden:

    .AutoFilter field:=1, Criteria1:="" & 0

Alternative Methoden

Falls Du kein VBA verwenden möchtest, kannst Du auch die automatische Sortierung über die Excel-Funktionen nutzen:

  • Daten sortieren: Wähle die Daten aus und gehe zu Daten > Sortieren. Hier kannst Du nach verschiedenen Kriterien sortieren.

  • Sortieren ohne Makro: Nutze die Funktion SORTIEREN in Excel, um dynamische Sortierungen zu erstellen.


Praktische Beispiele

  1. Automatische Sortierung nach Eingabe: Wenn Du eine Liste von Produkten hast, die Du nach Preis sortieren möchtest, kannst Du die oben genannten VBA-Codes anpassen, um die Spalte mit den Preisen automatisch zu sortieren.

  2. Excel automatisch nach Datum sortieren: Ändere den Key im VBA-Code auf die Datumsspalte, um die Daten nach Datum zu sortieren.

    .SortFields.Add2 Key:=ThisWorkbook.Worksheets("Femira").Range("A2"), _
    SortOn:=xlSortOnValues, Order:=xlAscending

Tipps für Profis

  • Verwende Named Ranges: Statt feste Zelladressen zu verwenden, kannst Du benannte Bereiche nutzen, um Deine VBA-Codes flexibler zu gestalten.

  • Fehlerbehandlung einfügen: Füge Fehlerbehandlungsroutinen in Deinen Code ein, um unerwartete Probleme zu erkennen und zu beheben.

  • Automatische Sortierung bei Änderungen: Du kannst auch das Worksheet_Change-Ereignis nutzen, um die automatische Sortierung von Befestigungsteilen oder anderen Daten bei Änderungen in bestimmten Zellen auszulösen.


FAQ: Häufige Fragen

1. Wie kann ich meine Excel-Tabelle automatisch sortieren ohne Makro?
Du kannst die eingebaute Sortierfunktion in Excel verwenden, um Daten manuell zu sortieren.

2. Funktioniert diese Methode in allen Excel-Versionen?
Ja, die beschriebenen VBA-Methoden sollten in den meisten modernen Excel-Versionen funktionieren, einschließlich Excel 2010 und später. Achte darauf, dass Du die Makros in der Datei aktivierst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige