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

Call Makro mit Wenn-Bedingung

Call Makro mit Wenn-Bedingung
29.11.2017 05:02:13
Kisska
Hallo allerseits,
ich habe 5 Makros, die ich nacheinander aufrufe mit:

Sub Auswertung()
Call Makro1
Call Makro2
Set target = ThisWorkbook.Sheets("Blatt1").Range("A1")
If target.Value = "X" Then
Call Makro3
End If
Call Makro4
Call Makro5
End Sub
Die 5 Makros werden auf einer anderen Daten-Datei angewandt. Dabei soll Makro3 nur dann ausgeführt werden, wenn in A1 der Makro-Datei ein "X" steht. Falls etwas anderes steht, soll Makro3 übersprungen werden und es soll weiter mit Makro4 weitergehen.
Wie muss der Code angepasst werden, damit alle Makros bis auf Makro3 in jedem Fall in der entsprechenden Reihenfolge ausgeführt werden, und der Makro-Aufruf nur von Makro3 verhindert wird, wenn die Bedingung nicht erfüllt ist?
Viele Grüße
Kisska

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Call Makro mit Wenn-Bedingung
29.11.2017 05:17:45
Werner
Hallo Kisska,
Sub Auswertung()
Call Makro1
Call Makro2
If ThisWorkbook.Sheets("Blatt1").Range("A1") = "X" Then
Call Makro3
End If
Call Makro4
Call Makro5
End Sub
Gruß Werner
perfekt, danke!
29.11.2017 15:06:56
Kisska
Danke Werner, funktioniert einwandfrei! :-)
Viele Grüße
Kisska
Gerne u. Danke für die Rückmeldung. o.w.T.
29.11.2017 15:30:40
Werner
AW: Wenn-Bedingung bei Call
29.11.2017 06:15:29
Gerd
Hallo Kisska,
es geht ebenso "innerlich".
Sub Auswertung()
Call Makro1
Call Makro2
Call Makro3
Call Makro4
Call Makro5
End Sub
Sub Makro3()
If ThisWorkbook.Sheets("Blatt1").Range("A1")  "X" Then Exit Sub
'......weiterer..Code
End Sub
Gruß Gerd
Anzeige
super! .... fast geschafft
29.11.2017 11:31:16
Kisska
Hallo Gerd,
oh ja, das ist noch besser, danke!
Komischerweise werden meine Makros 4 und 5 nicht ausgeführt, wenn die Bedingung nicht erfüllt ist.
Hier ist mein Makro 4:

Sub Makro4()
Application.ScreenUpdating = False
Set Jahr = ThisWorkbook.Sheets("Makros").Range("A2")
Range("Table1[Jahr]").FormulaR1C1 = Jahr
Application.ScreenUpdating = True
End Sub
Kann es sein, dass bspw. Makro 4 nicht ausgeführt wird, weil nicht erkannt wird, dass die Tabellenspalte Jahr in der aktiven Daten-Arbeitsmappe sich befindet und nicht in der Makro-Datei? Wenn ja, wie müsste ich dies verbessern?
VG
Kisska
Anzeige
mein Fehler, saubere Lösung, danke!
29.11.2017 15:09:15
Kisska
Hallo Gerd,
mein Fehler, ich habe zum Ausprobieren das Tabellenblatt dupliziert, wodurch der Tabellenname sich geändert und deshalb nicht gefunden werden konnte.
Deine Lösung funktioniert einwandfrei - herzlichen Dank dafür!
Viele Grüße
Kisska

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige