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?
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?
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ß
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
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.....
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ß