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

zwei makros gleichzeitig ausführen

Forumthread: zwei makros gleichzeitig ausführen

zwei makros gleichzeitig ausführen
06.03.2009 20:37:21
Mone
Hallo ihr Spezialisten,
jetzt weiss ich mir wieder keinen anderen Rat, als euch zu fragen. Vielleicht sehe ich aber auch den Wald vor lauter Bäumen nicht mehr.
Also ich führe beim Oeffnen einer Excelmappe zwei Makros aus:
1) Es öffnet sich eine zweite weitere Mappe im Hintergrund (versteckt), die meine Vorlagen für Textfelder und Comboboxen enthält.
1) Gleichzeitig soll beim Oeffnen auf dem ersten Blatt eine Combobox sich mit den Namen der Tabellenblätter füllen, von denen ich dann eines auswählen kann und ich springe automatisch darauf.
Das klappt alles wunderbar, der Knackpunkt ist nur, dass die beiden Befehle nur einzeln funktionieren, da sie beide mit Private Sub Workbook_Open()
Anzeige

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zwei makros gleichzeitig ausführen
06.03.2009 20:38:47
Mone
wieso hat der mir jetzt den Text abgeschnitten?
AW: zwei makros gleichzeitig ausführen
06.03.2009 20:40:19
Mone
wieso hat der mir jetzt den Text abgeschnitten?
also hier geht es weiter
............. aktiviert werden. Also ich kann entweder das eine oder nur das andere Makro benutzen, brauche aber beide. Hm.....das klingt ziemlich umständlich, wie ich das erkläre, aber ich glaube, die Profis wissen, was ich meine. Gibt es eine Möglichkeit, die Prozedur umzubenennen?
Gruss
Mone
Anzeige
AW: zwei makros gleichzeitig ausführen
06.03.2009 20:40:20
Mone
wieso hat der mir jetzt den Text abgeschnitten?
also hier geht es weiter
............. aktiviert werden. Also ich kann entweder das eine oder nur das andere Makro benutzen, brauche aber beide. Hm.....das klingt ziemlich umständlich, wie ich das erkläre, aber ich glaube, die Profis wissen, was ich meine. Gibt es eine Möglichkeit, die Prozedur umzubenennen?
Gruss
Mone
Anzeige
AW: zwei makros gleichzeitig ausführen
06.03.2009 20:45:33
Josef
Hallo Mone,
zeig doch mal den Code.
Gruß Sepp

AW: zwei makros gleichzeitig ausführen
06.03.2009 21:04:08
Mone
Also das ist der Code für die Combobox in meinem Blatt "Angebot", der die Tabellenblätter erscheinen lässt:

Private Sub Workbook_Open()
Dim Ws As Worksheet
With Worksheets("Angebot").List
.Clear
For Each Ws In Worksheets
.AddItem Ws.Name
Next
.ListIndex = 0
End With
End Sub


Anzeige
AW: zwei makros gleichzeitig ausführen
06.03.2009 21:05:48
Mone
und das der Code, der eine zweite Mappe gleichzeitig mit öffnen lässt:
Const QUELLE = "C:\xxxxxxx\xxxx\xxxxx\Mappe1.xls"

Private Sub Workbook_open()
Application.ScreenUpdating = False
Application.ShowWindowsInTaskbar = False
Workbooks.Open QUELLE, , True
Workbooks(Mid(QUELLE, InStrRev(QUELLE, "\") + 1)) _
.Windows(1).Visible = False
Me.Saved = True
Application.ShowWindowsInTaskbar = True
Application.ScreenUpdating = True
End Sub



Private Sub Workbook_BeforeClose(Cancel As Boolean)
Workbooks(Mid(QUELLE, InStrRev(QUELLE, "\") + 1)).Saved = True
Workbooks(Mid(QUELLE, InStrRev(QUELLE, "\") + 1)).Close
End Sub


Wie gesagt, beide funktionieren, aber nur getrennt voneinander.

Anzeige
AW: zwei makros gleichzeitig ausführen
06.03.2009 21:11:48
Josef
Hallo Mone,
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Const QUELLE = "C:\xxxxxxx\xxxx\xxxxx\Mappe1.xls"

Private Sub Workbook_Open()
  Dim Ws As Worksheet, objWB As Workbook
  
  On Error GoTo ErrExit
  
  With Application
    .ScreenUpdating = False
    .ShowWindowsInTaskbar = False
  End With
  
  With Worksheets("Angebot").List
    .Clear
    For Each Ws In Worksheets
      .AddItem Ws.Name
    Next
    .ListIndex = 0
  End With
  
  Set objWB = Workbooks.Open(QUELLE, , True)
  objWB.Windows(1).Visible = False
  
  Me.Saved = True
  
  ErrExit:
  With Application
    .ShowWindowsInTaskbar = True
    .ScreenUpdating = True
  End With
  Set objWB = Nothing
End Sub

Gruß Sepp

Anzeige
AW: zwei makros gleichzeitig ausführen
06.03.2009 21:22:49
Mone
Ma che bello!!!!!
Es funktioniert! Du bist ein Genie! Und das ging so schnell?
Grazie mille sepp!
AW: zwei makros gleichzeitig ausführen
06.03.2009 21:24:30
Prego!
Gruß Sepp

AW: zwei makros gleichzeitig ausführen
06.03.2009 22:15:30
Mone
Hallo Sepp,
nochmal ich....weiss nicht, ob es unverschämt ist, dich nochmal zu belästigen.
Aber ich hätte da noch eine Frage:
Ist es möglich, dass die Combobox mit den Tabellenblättern zum Auswählen auf jedem Tabellenblatt erscheint?
Gruss
Mone
Anzeige
AW: zwei makros gleichzeitig ausführen
06.03.2009 23:23:47
Josef
Hallo Mone,
dazu musst du halt auf jeder Tabelle eine Combobox einfügen und nach dem gleichen Prinzip befüllen.
Gruß Sepp

AW: zwei makros gleichzeitig ausführen
06.03.2009 23:28:23
Mone
Hab ich schon probiert, sepp, aber das funktioniert nicht :-(
AW: zwei makros gleichzeitig ausführen
06.03.2009 23:35:50
Mone
Hallo Sepp!!!
Doch es funktioniert....habs rausgefunden :-)
Danke und
Buona notte, caro :-)
Anzeige
AW: zwei makros gleichzeitig ausführen
06.03.2009 23:46:32
Mone
Ach mensch, jetzt hab ich mich zu früh gefreut.
Das mit der Auswahl in den Cbo hat geklappt aber er öffnet mir dann die externe Datei nicht mehr mit.
?
AW: zwei makros gleichzeitig ausführen
06.03.2009 23:53:37
Josef
Hallo Mone,
lade doch eine Mappe mit 2-3 Tabellen mit Comboboxen und deinem Code hoch.
Gruß Sepp

Anzeige
AW: zwei makros gleichzeitig ausführen
07.03.2009 00:15:16
Mone

Die Datei https://www.herber.de/bbs/user/60068.xls wurde aus Datenschutzgründen gelöscht


oh man, ich hoffe, das hat geklappt
AW: zwei makros gleichzeitig ausführen
07.03.2009 00:33:16
Josef
Hallo Mone,
ich hab mal angenommen, das du in jeder Tabelle nur eine Combobox hast.
https://www.herber.de/bbs/user/60069.xls
Gruß Sepp

Anzeige
AW: zwei makros gleichzeitig ausführen
07.03.2009 12:45:19
Mone
Hallo Sepp
ja, habe in jeder Tabelle nur eine Combobox, alles andere wird mit Formularen gemacht. Auch das funktioniert bestens.
Dein Makro funktioniert phänomenal! Hab auch schon versucht, mich da hinein zu denken......aussichtslos :-)
Ich bin dir unheimlich dankbar und kann nur den Hut ziehen vor so viel Genialität!
Danke viel viel mal!
Gruss
mone
Anzeige
AW: zwei makros gleichzeitig ausführen
07.03.2009 14:12:30
Mone
Hallo Sepp,
komisch, ich hatte mich eigentlich bei dir schon bedankt, aber ich finde den Beitrag nicht mehr :-(
Also ich wollte dir nur sagen, dass ich in jeder Tabelle nur eine Combobox aus der Steurelemente Toolbox habe. Alles weitere hab ich mit Formularen gemacht. Alles klappt bisher hervorragend!
Auch dein Makro funktioniert einwandfrei!!!! Ich kann jetzt in jedem Blatt so eine Auswahlbox erstellen.
Ich danke dir von Herzen für die grossartige Hilfe!!!
Gruss
Mone
Anzeige
und den zweiten Code....
06.03.2009 21:06:44
Josef
... soll ich mir denken oder wie?
Gruß Sepp

AW: und den zweiten Code....
06.03.2009 21:11:44
Mone
Hallo Sepp....so schnell bin ich nicht :-) zumal hat das mit dem kompletten Text nicht geklappt.
Bin doch noch neu hier...also übe Nachsicht :-)
;
Anzeige

Infobox / Tutorial

Zwei Makros gleichzeitig ausführen in Excel


Schritt-für-Schritt-Anleitung

Um zwei Makros gleichzeitig auszuführen, musst du den Code in einer einzigen Workbook_Open()-Prozedur kombinieren. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge den folgenden Code in das ThisWorkbook-Modul ein:

Option Explicit
Const QUELLE = "C:\xxxxxxx\xxxx\xxxxx\Mappe1.xls"

Private Sub Workbook_Open()
    Dim Ws As Worksheet
    Dim objWB As Workbook

    Application.ScreenUpdating = False
    Application.ShowWindowsInTaskbar = False

    ' Combobox befüllen
    With Worksheets("Angebot").List
        .Clear
        For Each Ws In Worksheets
            .AddItem Ws.Name
        Next
        .ListIndex = 0
    End With

    ' Zweite Mappe öffnen
    Set objWB = Workbooks.Open(QUELLE, , True)
    objWB.Windows(1).Visible = False

    Me.Saved = True

    Application.ShowWindowsInTaskbar = True
    Application.ScreenUpdating = True
End Sub
  1. Speichere die Arbeitsmappe und schließe den VBA-Editor.

  2. Teste das Makro, indem du die Excel-Datei öffnest.


Häufige Fehler und Lösungen

  • Fehler: "Das Makro konnte nicht gefunden werden"
    Lösung: Stelle sicher, dass der Code im richtigen Modul (ThisWorkbook) eingefügt wurde.

  • Fehler: Die zweite Mappe öffnet sich nicht
    Lösung: Überprüfe den Pfad der Datei in der Const QUELLE-Zeile. Stelle sicher, dass der Pfad korrekt ist und die Datei existiert.


Alternative Methoden

Eine alternative Methode, um zwei Makros gleichzeitig auszuführen, ist die Verwendung eines zusätzlichen Makros, das die beiden Makros nacheinander aufruft. Hier ein Beispiel:

Sub RunBothMacros()
    Call Macro1
    Call Macro2
End Sub

Du kannst die bestehenden Makros Macro1 und Macro2 durch den Code für die Combobox und das Öffnen der zweiten Mappe ersetzen.


Praktische Beispiele

Angenommen, du hast eine Excel-Datei mit verschiedenen Tabellenblättern. Der folgende Code befüllt eine Combobox in einem Blatt namens "Angebot" und öffnet eine Vorlage im Hintergrund:

Private Sub Workbook_Open()
    ' Code zum Befüllen der Combobox
    ' Code zum Öffnen einer zweiten Mappe
End Sub

Du kannst auch die Combobox auf jedem Tabellenblatt einfügen und denselben Code verwenden, um sie zu befüllen.


Tipps für Profis

  • Verwende Fehlerbehandlungsroutinen: Füge On Error GoTo ErrHandler hinzu, um Fehler elegant zu behandeln.
  • Optimierung: Setze Application.ScreenUpdating = False, um das Flackern des Bildschirms zu vermeiden, während die Makros ausgeführt werden.
  • Code modularisieren: Halte den Code sauber und modular, indem du verschiedene Funktionen für verschiedene Aufgaben verwendest.

FAQ: Häufige Fragen

1. Wie kann ich die Combobox auf jedem Blatt anzeigen?
Du musst auf jedem Blatt eine Combobox einfügen und den gleichen Code verwenden, um sie zu befüllen.

2. Was mache ich, wenn die externe Datei nicht geöffnet wird?
Überprüfe den Pfad zur Datei in der Const QUELLE-Zeile und stelle sicher, dass die Datei vorhanden ist.

3. Kann ich die Makros anpassen, um zusätzliche Funktionalitäten einzufügen?
Ja, du kannst den VBA-Code anpassen und zusätzliche Funktionen hinzufügen, um deine spezifischen Anforderungen zu erfüllen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige