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

2 VBA-Befehle (?) nacheinander ausführen

Forumthread: 2 VBA-Befehle (?) nacheinander ausführen

2 VBA-Befehle (?) nacheinander ausführen
18.02.2004 15:13:21
Patrick Wild
Hallo !
Ich lasse über den folgenden VBA-Befehl in einem Tabellenblatt eine Liste in Spalte D sortieren:

Private Sub Worksheet_Calculate()
[D5:D10].Sort Key1:=[d5], Order1:=xlDescending, Header:=xlGuess
End Sub

Nun möchte ich eine weitere nebenstehende Liste in Spalte K sortieren. Dazu habe ich unter den obigen VBA-Befehl folgenden Befehl geschrieben:

Private Sub Worksheet_Calculate2()
[K5:K10].Sort Key1:=[k5], Order1:=xlDescending, Header:=xlGuess
End Sub

Die erste Liste wird sortiert, aber die zweite Liste wird nicht sortiert. Was mache ich falsch?
Danke + Gruß,
Patrick
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 2 VBA-Befehle (?) nacheinander ausführen
18.02.2004 15:15:08
Andreas Walter

Private Sub Worksheet_Calculate()
[D5:D10].Sort Key1:=[d5], Order1:=xlDescending, Header:=xlGuess
[K5:K10].Sort Key1:=[k5], Order1:=xlDescending, Header:=xlGuess
End Sub

ist alles was Du brauchst
(Makros dürfen mehr als einen befehl beinhalten)
Anzeige
AW: 2 VBA-Befehle (?) nacheinander ausführen
18.02.2004 15:15:14
Hajo_Zi
Hallo Partrick
schreibe die Befehlzeile oben mit rein. Ob das die richtige Aktion ist mußt Du jha wissen.

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro


Anzeige
AW: 2 VBA-Befehle (?) nacheinander ausführen
18.02.2004 15:28:36
Patrick Wild
Hallo Hajo,
Ich habe beide Befehle in den Code des Blattes "Auswertung" reingeschrieben, aber es wird dennoch nur die erste Liste absteigend sortiert.
Datei:
https://www.herber.de/bbs/user/3762.xls
Stimmt der Befehl nicht oder ist das Format falsch?
Danke für die Hilfe + Gruß,
Patrick
Anzeige
Danke - Problem gelöst oT
18.02.2004 15:32:41
Patrick Wild
Gruß,
Patrick
;
Anzeige

Infobox / Tutorial

VBA-Befehle in Excel nacheinander ausführen


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und gehe zu dem Arbeitsblatt, in dem du die VBA-Befehle ausführen möchtest.

  2. Öffne den VBA-Editor durch Drücken von ALT + F11.

  3. Füge ein Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (dein Arbeitsblattname)" und wähle "Einfügen" > "Modul".

  4. Füge den folgenden Code ein:

    Private Sub Worksheet_Calculate()
       [D5:D10].Sort Key1:=[d5], Order1:=xlDescending, Header:=xlGuess
       [K5:K10].Sort Key1:=[k5], Order1:=xlDescending, Header:=xlGuess
    End Sub
  5. Speichere deine Änderungen und schließe den VBA-Editor.

  6. Teste die Funktion: Ändere Werte in den Zellen D5:D10 oder K5:K10, um die Sortierung auszulösen.


Häufige Fehler und Lösungen

  • Fehler: Die zweite Liste wird nicht sortiert.

    • Lösung: Stelle sicher, dass beide Sortierbefehle im selben Sub stehen. Wenn du sie in verschiedenen Subs hast, kann Excel sie nicht nacheinander ausführen.
  • Fehler: Der Sortierbefehl wird nicht ausgeführt.

    • Lösung: Überprüfe, ob das Arbeitsblatt, auf dem der Code läuft, auch tatsächlich aktiv ist. Das kann manchmal die Ausführung der VBA-Befehle beeinflussen.

Alternative Methoden

Falls du die Sortierung ohne VBA durchführen möchtest, kannst du auch die integrierte Sortierfunktion in Excel nutzen:

  1. Markiere die Zellen, die du sortieren möchtest.
  2. Gehe zum Menüpunkt Daten.
  3. Klicke auf Sortieren und wähle die entsprechenden Optionen aus.

Diese Methode ist allerdings nicht so flexibel und automatisiert wie der Einsatz von VBA-Befehlen.


Praktische Beispiele

Hier sind einige nützliche VBA-Befehle, die du in anderen Situationen verwenden kannst:

  • Sortieren einer Liste aufsteigend:

    [A1:A10].Sort Key1:=[A1], Order1:=xlAscending, Header:=xlYes
  • Mehrere Listen gleichzeitig sortieren:

    Private Sub Worksheet_Calculate()
       [B1:B10].Sort Key1:=[B1], Order1:=xlAscending, Header:=xlYes
       [C1:C10].Sort Key1:=[C1], Order1:=xlAscending, Header:=xlYes
    End Sub

Verwende diese Beispiele als Basis und passe sie an deine Bedürfnisse an.


Tipps für Profis

  • Um VBA-Befehle effizient zu nutzen, erstelle eine VBA-Befehle Übersicht. Halte eine Liste der häufig verwendeten Befehle bereit, um schneller darauf zugreifen zu können.
  • Nutze Debugging-Tools innerhalb des VBA-Editors, um Fehler schnell zu identifizieren und zu beheben.
  • Kommentiere deinen Code, um ihn für dich und andere verständlicher zu gestalten.

FAQ: Häufige Fragen

1. Wie kann ich mehrere VBA-Befehle in einer Sub-Prozedur ausführen?
Du kannst mehrere Befehle einfach nacheinander in einer einzigen Sub-Prozedur auflisten, wie im Schritt-für-Schritt-Beispiel gezeigt.

2. Wo finde ich eine Excel VBA Befehle Liste?
Eine nützliche VBA-Befehle Übersicht findest du im Internet, auf spezialisierten Excel-Webseiten oder in VBA-Büchern.

3. Warum funktioniert mein Sortierbefehl nicht?
Überprüfe, ob die Daten im richtigen Format vorliegen und ob der Sortierbereich korrekt angegeben ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige