Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1328to1332
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

mit einem Makro ein anderes Makro ausführen

mit einem Makro ein anderes Makro ausführen
30.08.2013 09:56:32
Herbert
Guten Morgen,
wie kann ich mit einem Makro ein (oder mehrere) anderes Makro ausführen?
Zugleich sollte dieses Makro nicht nur im aktuellen Tabellenblatt, sondern in allen Tabellenblättern der Datei ausgeführt werden.

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

Betreff
Datum
Anwender
Anzeige
Call makro2 owT
30.08.2013 10:01:46
JACKD
owt = ohne weiteren Text

AW: mit einem Makro ein anderes Makro ausführen
30.08.2013 10:09:33
Doris
Hallo,
hier ein kurzes Bsp. zum Aufruf von Makros test1 und test2.
sub test0()
call test1
call test2
end sub
Sub Test1()
end sub
Sub Test1()
end sub
Hoff das hilft weiter.
Gruß Doris

AW: mit einem Makro ein anderes Makro ausführen
30.08.2013 10:36:11
Herbert
hallo Doris,
vielen Dank für die schnelle Antwort. Beim aktuellen Tabellenblatt klappt das.
Ich will aber dass das Makro in allen Tabellenblättern ausgeführt wird.
Beispiel: Makro1 blendet im aktuellen Blatt verschieden Spalten aus. Mit Makro 2 soll das Makro 1 in allen Tabellenblättern ausgeführt werden.

Anzeige
... in allen Blättern ...
30.08.2013 10:34:33
Erich
Hi Herbert,
ein Makro wird nicht "in einem Tabellenblatt" ausgeführt. (Kann ja sein, dass es gar nichts zu tun hat mit Blättern,
sondern nur eine MsgBox ausgibt oder Eigenschaften der Arbeitsmappe ändert oder ...)
Hier mal ein Beispiel, wie man ein Makro in einer Schleife so aufrufen kann,
dass alle Blätter einer Mappe bearbeitet werden:

Option Explicit
Sub Hauptmakro()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
Untermakro ws
' oder
Call Untermakro(ws)
Next ws
End Sub
Sub Untermakro(wks As Worksheet)
With wks
.Cells(1, 1).Value = Now
.Cells(1, 2).Value = .Name
End With
End Sub
Ob man "Call" hinschreibt oder es weglässt, ist Geschmackssache.
Wenn man "Call" schreibt, muss man den/die Paramneter in Klammern setzen.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
oder innerhalb eines Makros
30.08.2013 10:43:17
Erich
Hi Herbert,
manchmal lohnt es sich nicht, die Berarbeitung in ein Untermakro auszulagern.
Dann geht es einfacher so:

Option Explicit
Sub EinMakro()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
With ws
.Cells(1, 1).Value = Now
.Cells(1, 2).Value = .Name
End With
Next ws
End Sub
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

AW: oder innerhalb eines Makros
01.09.2013 09:05:25
Erich.G
hallo Erich,
genauso sollte es sein. Setzt ich allerdings meine Daten ein, dann funktioniert es nicht mehr.
Hab mal die Beispieldatei hochgeladen.
https://www.herber.de/bbs/user/87109.xlsm
Kannst du mir helfen?
vielen Dank im voraus.

Anzeige
AW: oder innerhalb eines Makros
01.09.2013 13:37:16
Erich
Hi Herbert,
warum postest du deine Frage jetzt als "Erich.G"? Das ist meinem Usernamen "Erich G." sehr ähnlich...
Hier habe ich etwas Ähnliches gesehen:
https://www.herber.de/forum/archiv/1216to1220/1217832_Alle_Blaetter_eines_Workbook_zoomen.html#1217837
So könnte das bei dir funzen:

Sub EinMakro()
Dim sh_Alt As Object, wks As Worksheet
Application.ScreenUpdating = False
Application.EnableEvents = False
On Error GoTo XErr
Set sh_Alt = ActiveSheet
For Each wks In ActiveWorkbook.Worksheets
With wks
.Unprotect
.Range("I:I,K:K,N:O").EntireColumn.Hidden = True
With .Range("A1").Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 12611584
.TintAndShade = 0
.PatternTintAndShade = 0
End With
.Activate
ActiveWindow.Zoom = 75
.Protect DrawingObjects:=True, Contents:=True, _
Scenarios:=True, AllowFiltering:=True
End With
Next wks
sh_Alt.Activate
XErr:
Application.EnableEvents = True
Application.ScreenUpdating = True
Resume XEnd
XEnd:
End Sub
Ich bin jetzt mal für zwei, drei Wochen weg...
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: oder innerhalb eines Makros
04.09.2013 22:09:14
herbert
hallo Erich,
das mit dem Namen war ein Fehler von mir. Bin noch ziemlich neu hier und dachte, da gehört der Name des letzten Absenders rein. Aber jetzt weiß ich es.
Vielen Dank für dein Makro. Genauso sollte es sein und es klappt einwandfrei.
Nochmal vielen Dank
viele Grüße
Herbert

AW: ... in allen Blättern ...
30.08.2013 10:44:48
Herbert
hallo Erich,
vielen Dank. Ich werde es am Wochenende ausprobieren und dir sagen ob´s klappt.
Ich hoffe ich bekomm´s hin, da meine VBA-Kenntnisse relativ bescheiden sind.
viele Grüße

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige