Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1852to1856
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
Inhaltsverzeichnis

Zwei Makros nebeneinander ausführen?

Zwei Makros nebeneinander ausführen?
07.11.2021 17:23:05
Frank
Hallo Leute,
leider scheine ich mit Excel immer mehr an die Grenzen des Machbaren zu stoßen.
Gibt es einen komfortablem Weg in EINEM geöffneten Excel 2 Makros GLEICHZEITIG / nebeneinander auszuführen die unabhängige Tabellen bearbeiten, also nicht hintereinander? Die Prozeduren kommen sich nicht ins Gehege, das vorab, das wäre also kein Problem.
Nachdem mit einem Workaround das Zwangs -CSV Berechnungsproblem gelöst werden konnte würde ich gerne die ganze Prozedur um 50% beschleunigen, da Excel nur 1 oder 2 Kerne für Berechnungen nimmt und ich deutlich mehr CPU Kerne habe.
Standardmäßig laufen die Makros ja hintereinander ab, z.B. so:

Sub OeffnenCSV()
Makro1
Makro2
End Sub
Damit habe ich immer nur 25% Auslastung der CPU etc. Nun dachte ich warum nicht 2 Makros gleichzeitig laufen lassen?
Eine Lösung gibt es, die ist allerdings unkomfortabel:
Man öffnet unabhängig 2 Mal Excel mit der MakroDatei (die 2. wäre dann z.B. schreibgeschützt) und startet dann beide. Die zu bearbeitenden Daten müssten dann in zwei unterschiedliche .xlsb gespeichert werden. Diese kann man dann wieder in eine Ergebnis .xlsb zurückführen via Hyperlink. Damit kann man die Zeit in etwa halbieren.
Nachteile dieser Methode:
- 4 statt 2 Tabs in Taskleiste (2 x Excel, 2 x Makro)
- 2 Starts notwendig
- Hyperlink-Ergebnis Datei notwendig
Es ist schlicht unkomfortabel. Man könnte sich wohl noch eine .bat datei basteln und diese wird dann ausgeführt (somit kann man sich das ganze öffnen und starten etc. zweier Excel-Dateien) sparen...
Hat jemand noch eine andere Lösung wie man auf einem Computer 2 Makros gleichzeitig (nicht hintereinander!) in einem geöffneten Excel starten kann?
Vielen Dank

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zwei Makros nebeneinander ausführen?
07.11.2021 18:08:41
Daniel
Ich wüsste nicht, dass das geht.
VBA ist nicht multicorefähig und nutzt generell nur einen Prozessor/Kern
Selbst wenn, innerhalb eines Programms gibt es in Basic nur einen linearen Ablauf.
Basic ist halt nur eine einfache Programmiersprache, die nicht in die Ebene der Prozessorsteuerung hineinreicht.
Der von dir gefundene Weg über die zweite Excelinstanz ist auch der einzig mir bekannte Weg, zwei Excelmakros gleichzeitig laufen zu lassen.
Aber vielleicht lässt sich dein Code ja noch optimieren, so dass das ganze an sich schneller wird?
Was sollen die Makros den machen und wie hast du es programmiert?
Gruß Daniel
Anzeige
AW: schon mit einer 2. Excel-Instanz versucht?
07.11.2021 21:52:00
JoWe
Hatte er doch geschrieben...
07.11.2021 21:53:52
{Boris}
Hi,

Eine Lösung gibt es, die ist allerdings unkomfortabel:
Man öffnet unabhängig 2 Mal Excel mit der MakroDatei
VG, Boris
AW: Hatte ich glatt übersehen, sorry
07.11.2021 22:11:08
JoWE
AW: Zwei Makros nebeneinander ausführen?
08.11.2021 13:13:02
Frank
Hallo Daniel, Boris und JoWE,
ja, das dachte ich mir schon. Durch die Hyperlinkdatei kann ich dann die Ergebnisse zusammenführen, nun ja.
@Daniel: Der Code könnte wohl noch optimiert werden. Bin grad dabei, allerdings sind es auch immerhin 50000 Zeilen und 20 Spalten, da braucht Excel nunmal etwas Zeit. Die Formeln könnte man nochmal überprüfen.
Macht es einen Unterschied in der Berechnung, wenn man eine Berchnung in der Wenn-Funktion früh abbricht?
Beispiel:
wenn(A4="";0;wenn...(.... -damit würde man ja schnell bei leeren Zellen den Code damit abbrechen. Bringt das etwas? Grüße!
Anzeige
warum sollte das nichts bringen?owT
08.11.2021 13:34:31
Rudi
AW: Zwei Makros nebeneinander ausführen?
08.11.2021 14:31:50
Daniel
Hi
In der Wenn-Funktion ist es normalerweise so, dass nur der in der Bedingumgsprüfung ermittelte Teil berechnet wird und der andere Teil nicht, also bringt das in der Regel schon was.
Je nachdem was du machst, kann man das gleiche Ergebnis mit viel oder wenig Rechenaufwand erhalten, je nachdem wie geschickt man sich anstellt.
Oft hilft Sortieren, wie Excel im Sortieren sehr schnell ist und sich richtig sortierte Daten wesentlich besser verarbeiten lassen als unsortierten.
Beispielsweise ist in einer Liste mit 50.000 Zeilen der SVerweis für sortierte Daten c.a. 1000x schneller als der für unsortierte Daten.
Aber auch viele andere Aufgabenstellungen lassen sich dadurch oder mit zusätzlichen Hilfsspalten vereinfachen und beschleunigen.
Gruß Daniel
Anzeige
AW: Zwei Makros nebeneinander ausführen?
08.11.2021 14:44:41
Frank
Oh, Danke Daniel. Das mit dem sortieren hatte ich schon ganz vergessen. Vielen Dank für Deine Forenbeiträge, sind immer super!

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige