Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1892to1896
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
Alle Makros nacheinander ausführen
11.08.2022 13:25:31
Richard
Hallo zusammen,
ich habe in jedem Tabellenblatt ein Makro......... Da wir über eine größere Anzahl an Tabellenblättern & Makros reden, möchte ich nicht jedes Makro per Call aufrufen.
Wie kann ich alle Makros nacheinander laufen lassen bis alle einmal durch sind?

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Alle Makros nacheinander ausführen
11.08.2022 13:29:57
Rudi

möchte ich nicht jedes Makro per Call aufrufen.
musst du aber.

ich habe in jedem Tabellenblatt ein Makro
du meinst aber keine Event-Prozeduren, oder?
Gruß
Rudi
AW: Alle Makros nacheinander ausführen
12.08.2022 00:44:04
oraculix
Nicht getestet
Servus!
Erstelle einen Commandbutton in Deiner Tabelle1 Tabelle.(Commandbutton1)
Alle Makros die Du ausführen möchtest müssen in einem Modul sein!!!!! (im VBA Editor)
Dann gibst Du dem Commandbutten1 den Befehl mit Call, das er folgende Makros aufrufen soll!!!!
Dieses Makro muss in die Tabelle1 des Tabellenblattes (im VBA Editor)

Private Sub CommandButton1_Click()
Call Makro1 'Die Makronamen müssen mit Deinem Macrnamen Übereinstimmen, also anpassen!!!
Call Macro 2
Call Macro3 ' Beliebig viele Makros eingeben
End Sub
Gruß
Oraculix
Anzeige
AW: Alle Makros nacheinander ausführen
12.08.2022 10:29:44
Richard
Hi,
also in jedem Tabellenblatt ist ein Makro, was sich für dieses Tabellenblatt spezifische Daten holt und diese reinkopiert.
Für die Webabfrage kann ich mit diesem VBA-Code diese hintereinander ausführen.....also muss es doch auch möglich sein so etwas für Makros durchzuführen.....

Public Sub Daten_aktualisieren()
Dim Current As Worksheet
Dim qt As QueryTable
For Each Current In Worksheets
'MsgBox Current.Name
If Current.QueryTables.Count > 0 Then
For Each qt In Current.QueryTables
qt.Refresh (BackgroundQuery)
Next
End If
Next
End Sub

Anzeige
AW: Alle Makros nacheinander ausführen
15.08.2022 06:50:54
Marc
Nur als Hinweis,
sie müssen NICHT alle in einem Modul sein. Du kannst sie , wenn du sie von private auf public setzt auch übergreifend aufrufen. Ob und wie weit das Sinn macht, muss jeder für selbst entscheiden..
durch das Public wird die Prozedur allgemein verfügbar im Projekt.. Nachteil ist, falls spezifische TextFelder, Listen etc die in Userformen angesprochen und gefüllt werden muss die Userform direkt mit angesprochen werden und kann nicht allgemein genutzt werden... zum Beispiel:
statt label_test = "Inhalt"
muss dann z.B. stehen:
UF_Test.label_test = "Inhalt"
AW: Alle Makros nacheinander ausführen
14.08.2022 06:35:14
Oberschlumpf
Hi Richard
und um was für Makros genau handelt es sich?
Zeig mal bitte per Upload eine Bsp-Datei mit mehreren Tabellenblättern und mit eben mind. 1 Makro pro Tabellenblatt.
Und dann beschreib bitte auch, wann genau alle Makros ausgeführt werden sollen - und ob das wiederholt werden soll - und wenn ja, wann soll wiederholt werden?
Ciao
Thorsten
Anzeige
AW: Alle Makros nacheinander ausführen
14.08.2022 15:21:02
Richard
Hi,
in jedem Tabellenblatt ein Makro mit diesem Aufbau (lediglich die Adresse ändert sich):

Function OpenUrl(sURL As String, InFireFox As Boolean) As Integer
If InFireFox Then
OpenUrl = Shell("C:\Programme\Mozilla Firefox\firefox.exe " & sURL)
End If
End Function

Sub HellaKurse()
intResult = OpenUrl("https://www.onvista.de/aktien/handelsplaetze/Hella-Aktie-DE000A13SX22", True)
Application.Wait Now + TimeSerial(0, 0, 3)
Application.SendKeys "^a"
Application.Wait Now + TimeSerial(0, 0, 3)
Application.SendKeys "^c"
Application.Wait Now + TimeSerial(0, 0, 3)
Worksheets("1HellaKurs").Visible = True
Worksheets("1HellaKurs").Select
Range("A1").Select
ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:=False
Application.SendKeys "^{F4}", True
Worksheets("1HellaKurs").Visible = False
End Sub
Infolgedessen möchte ich halt nicht jedes einzelne makro anklicken oder in einem Makro 100 Call-Aufrufe haben, die ich einzeln benennen muss.....
Die Idee ist wie bei dem vorherigen Code für die Webabfrage dass alle offenen Markos nach einander einfach ausgeführt werden sollen.
Anzeige
AW: Alle Makros nacheinander ausführen
14.08.2022 20:27:26
Oberschlumpf
und wo is Bsp-Datei mit allem, was erforderlich is?
AW: Alle Makros nacheinander ausführen
17.08.2022 16:15:15
Rudi
Hallo,
soweit ich sehen kann, machen die Makros doch alle das gleiche.
Schreibe deine URLs und die zugehörigen Zielblätter in eine Tabelle (Links)
A: URL, B: Namen
In ein Modul:

Sub BankKurse()
Dim rng As Range
With Worksheets("Links")
For Each rng In .Range(.Cells(2, 1), .Cells(Rows.Count, 1).End(xlUp))
intResult = OpenUrl(rng.Value, True)
Application.Wait Now + TimeSerial(0, 0, 3)
Application.SendKeys "^a"
Application.Wait Now + TimeSerial(0, 0, 3)
Application.SendKeys "^c"
Application.Wait Now + TimeSerial(0, 0, 3)
With Worksheets(rng.Offset(, 1))
.Range("A1").PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:=False
End With
Next rng
End With
End Sub
Function OpenUrl(sURL As String, InFireFox As Boolean) As Integer
If InFireFox Then
OpenUrl = Shell("C:\Programme\Mozilla Firefox\firefox.exe " & sURL)
End If
End Function
Gruß
Rudi
Anzeige

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige