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

Sub eines anderen Workbooks ausführen

Sub eines anderen Workbooks ausführen
28.09.2014 10:32:07
Barbara

Hallo
Wie kann man Folgendes anstellen:
Mein Makro soll "FoodCheckBox_clicked()" (siehe Beispiel unten), das in einem zweiten, bereits geöffnetem workbook steht, dort ausführen.
Auf dieses Workbook habe ich bereits mit wkb (Dim wkb As Workbook) Zugriff.

Sub FoodCheckBox_clicked()
ActiveSheet.Unprotect Password:="S4"
If ActiveSheet.Shapes("FoodCheckBox").ControlFormat.Value = 1 Then
Range("147:148").EntireRow.Hidden = True
Range("FoodControlField").Value = 0
Else
Range("147:148").EntireRow.Hidden = False
Range("FoodControlField").Value = 1
End If
ActiveSheet.Protect Password:="S4"
End Sub
Dieses Makro soll selbstverständlich in seinem eigenen workbook, in dem es steht, ausgeführt werden.
Wie geht das am Besten?
LG,
Barbara

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sub eines anderen Workbooks ausführen
28.09.2014 10:35:33
Hajo_Zi
Hallo Babara,
ist die Datei nicht Aktiv, gibt es kein ActiveSheet in der Datei. Du solltest im Code schon die Tabelle ansprechen mit ThisWorkbook.
Gruß Hajo

AW: Sub eines anderen Workbooks ausführen
28.09.2014 12:04:48
Barbara
Hätte vielleicht noch dazu sagen müssen:
Der abgedruckte Code ist unveränderbar, weil es eine Fremddatei ist.
Ich rufe diese Datei auf und befülle sie per Makro mit Daten aus meinem Sheet.
Und hier will ich das Anklicken einer Checkbox simulieren, indem ich gleich das damit verbundene Makro aufrufe.

AW: Sub eines anderen Workbooks ausführen
28.09.2014 12:18:53
Hajo_Zi
dann musst Du die Datei und Tabelle aktivieren.
Application.Run ("mappe3.xls!Start1")
Gruß Hajo

Anzeige
AW: Sub eines anderen Workbooks ausführen
28.09.2014 13:34:50
Barbara
OK, Und dann?
Und dann muss ich wieder meine Datei aktivieren?
Kann ich da nicht die eingangs definierte Variable wkb (siehe erste Nachricht) nutzen?
LG,
Barbara

AW: Sub eines anderen Workbooks ausführen
28.09.2014 13:39:46
Hajo_Zi
Ja Du kannst Diese Variable benutzen zum Aktivieren, das ist aber nur die Datei, Die Tabelle muss auch noch aktiviert werden.
Gruß Hajo

AW: Sub eines anderen Workbooks ausführen
28.09.2014 14:08:48
Barbara
Danke,
für mich würde es schon reichen, wenn Du mir konkret zeigen könntest, wie diese Zeilen lauten.
Dann kann ich auch die Grundlagen nachvollziehen (versuchen).
LG,
Barbara

Anzeige
AW: Sub eines anderen Workbooks ausführen
28.09.2014 14:12:52
Hajo_Zi
ich hätte es ja ohne Variable gemacht. Den Dateinamen und Tabelle hast Du ja.
Variable.Activate für die Datei.
Gruß Hajo

AW: Sub eines anderen Workbooks ausführen
28.09.2014 14:14:59
Barbara
OK, und dann?

AW: Sub eines anderen Workbooks ausführen
28.09.2014 14:19:49
Hajo_Zi
was soll mir das sagen?
Schaue in Deinen ersten Beitrag. Nach Aktivierung der Datei und der Tabelle, kannst Du das Makro Starten, wie schon mitgeteilt.
Gruß Hajo

AW: Sub eines anderen Workbooks ausführen
28.09.2014 15:00:49
Barbara
Das abgedruckte Makro von oben namens FoodCheckBox_clicked(), das in "A.xls", Blatt1 steht, soll innerhalb eines Makros, das in "B.xls" aufgerufen werden.
Wie lauten die Zeilen dazu, die ich ins Makro, das in "B.xls" steht, schreiben soll?
"A.xls" ist bereits geöffnet.

Anzeige
AW: Sub eines anderen Workbooks ausführen
28.09.2014 16:56:18
Barbara
"kannst Du das Makro Starten, wie schon mitgeteilt."
WIE kann ich das Makro starten?

AW: Sub eines anderen Workbooks ausführen
28.09.2014 17:09:00
Adis
Hallo
die Lösungsvorschlaege sind gut, ich glaube es habert an der -praktischen umsetzung-
Hier ein Lösungsvoschlag von mir. Mein Makro schaltet auf das externe Workbook um,
führt die vorgeschlagene Run Operation aus, und kehrt in -dieses Workbook- zurück.
Zu beachten ist das im externen Workbook auch das AktiveSheet selektiert werden muss,
sonst wird das "FoodCheckBox_clicked" Makro evtl. in einem -falschen Blatt- ausgeführt!
Mein Makro merkt sich das ausgewehlte Blatt, schaltet um, und kehrt ins Blatt zurück.
Geaendert werden muss 2x der Workbbook Name, bei mir zum Test: "Workbook extern.xls"
sowie das Aktive Blatt für: FoodCheckBox_clicked (bei mir zum testen "Tabelle 2")
In ein normales Modulblatt kopieren und testen ob es so wie gewünscht funktioniert.
Sub ExternesMakro_aufrufen()
Dim ThisWbk As String, Blatt As String
ThisWbk = ThisWorkbook.Name
'Aktiviere externes Workbbook, notiere aktives Blatt
Windows("Workbook extern.xls").Activate
Blatt = ActiveSheet.Name
'Das Blatt aktivieren in dem das Makro laufen soll !!
Sheets("Tabelle2").Select  'Aktives Blatt für: FoodCheckBox_clicked
Application.Run ("'Workbook extern.xls'!FoodCheckBox_clicked")
'Rückkehr in notierte Blatt  (in extern Workbook)
Sheets(Blatt).Select
'Rückkehr in dieses Workbook
Windows(ThisWbk).Activate
End Sub
Gruss Adis

Anzeige
AW: Sub eines anderen Workbooks ausführen
28.09.2014 20:59:42
Barbara
Hallo adis,
genau das, was ich wollte.
Funktioniert perfekt.
Wieder was dazu gelernt.
Vielen herzlichen Dank.
LG,
Barbara

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige