Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
780to784
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
780to784
780to784
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Aufruf von Makro in externer Datei

Aufruf von Makro in externer Datei
18.07.2006 11:31:35
Makro
Moin!
Ich habe ein kleines Problem mit einem Excel Makro:
Es gibt zwei Dateien, die erste ist die Arbeitsmappe (1), die von mehreren Benutzern geöffnet wird. Die zweite ist die zentral gespeicherte Arbeitsmappe (2) mit verschiedenen Preisinformationen.
Zur Ermittlung eines Druckpreises anhand eines Druckcodes und der Anzahl wird aus der Arbeitsmappe (1) ein Makro in der Arbeitsmappe (2) über den folgenden Befehl aufgerufen:
=Mappe2.xls'!GetPrice(C25;C28)
Das klappt auch wunderbar. Problematisch wird es allerdings dann, wenn die Arbeitsmappe (2) in Excel nicht geöffnet ist. Dann erscheint als Ergebnis der Formel der Wert #Name?.
Wie bekomme ich es hin, dass das Makro auch dann ausgeführt wird, wenn die Arbeitsmappe (2) geschlossen ist?
Die Sicherheitsrichtlinien habe ich testweise auf niedrig gestellt. Daran sollte es nicht liegen.
Das betreffende Makro ist eine public static function vom Typ Variant. (Diverse Änderungen daran, waren nicht von Erfolg gekrönt)
Danke für Eure Hilfe und Gruß aus Bremen
Sebastian

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

Betreff
Datum
Anwender
Anzeige
AW: Aufruf von Makro in externer Datei
18.07.2006 11:34:44
Makro
Hallo Sebastian,
du kannst nur Makros von geöffneten Dateien laufen lassen.
Gruss Manfred
AW: Aufruf von Makro in externer Datei
18.07.2006 11:42:29
Makro
Danke für die Antwort, Manfred.
So etwas habe ich bereits befürchtet... Fällt Dir evtl. dazu eine Alternativlösung ein?
Wäre die Integration des Makros in Arbeitsmappe (1) bzw. die Erstellung eines Add-Ins eine Möglichkeit?
Von dem Makro aus auf Daten einer anderen Datei zugreifen, sollte doch gehen, oder?
Ich hab nicht so den Excel/VBA-Plan... mein Gebiet ist normalerweise eher VS.NET/C# ;-)
Gruß aus Bremen
Sebastian
AW: Aufruf von Makro in externer Datei
18.07.2006 11:59:38
Makro
Hallo Sebastian,
ich verwende dafür folgende VBA Zeile:

Sub Test
Application.Run "'DateiName2.xls'!MakroName"
End Sub

Gruss Manfred
Rückmeldung wäre nett!
Anzeige
AW: Aufruf von Makro in externer Datei
18.07.2006 12:11:42
Makro
Hallo Manfred,
Das habe ich auch bereits probiert... Allerdings öffnet er dabei jedes Mal die Datei Arbeitsmappe (2) und, was noch entscheidender ist: Anscheinend gibt die Funktion "Application.Run" den Rückgabewert nicht weiter. Diesen versuche ich zumindest in eine Zelle zu schreiben - wo aber nix landet.
Hier die entsprechende Code-Zeile (Parameter sind nur (valide) Test-Werte, keine verknüpften Zellen):
Cells(1, 55) = Application.Run("'Arbeitsmappe2.xls'!GetPrice", "T3", 24)
Gruß aus dem viel zu sonnigen Bremen
Sebastian
ohne Klimaanlage
AW: Aufruf von Makro in externer Datei
18.07.2006 12:22:31
Makro
Hallo Sebastian,
warum arbeitest du dann nicht alles in der Datei2 ab?
in etwa wie folgt:
"automatisch öffnen und starten",
"Wert aus Zelle in Variable lesen",
Variable in Tabellenblatt der Datei1 schreiben"
und am Ende die Datei2 wieder schliessen.
Gruss Manfred
Rückmeldung wäre nett!
Anzeige
AW: Aufruf von Makro in externer Datei
18.07.2006 15:01:25
Makro
Das Problem ist, dass die Datei 2 noch eine Menge mehr Daten enthält... etwa eine Tabelle, die ca. 5 MB Texte enthält (die aber für die Preiskalkulation nicht relevant ist). Das würde bedeuten, dass ständig die Daten geladen, berechnet und wieder geschlossen werden müssen.... oder kann ich auch explizit auch nur einzelne Tabellen laden? Die notwendigen Informationen sind nicht allzu gross.
Besten dank & Gruß aus Bremen
Sebastian
AW: Aufruf von Makro in externer Datei
18.07.2006 20:47:42
Makro
Hallo Sebastian,
......oder kann ich auch explizit auch nur einzelne Tabellen laden? Die notwendigen Informationen sind nicht allzu gross......
Nein und ja!
Du kannst nicht einzelne Tabellen öffnen, aber aus einer geschlossenen Excel-Datei
einzelne Werte auslesen, ggf. auch ganze Tabellen-"Bereiche".
Gruß
Gerd
Anzeige
AW: Aufruf von Makro in externer Datei
19.07.2006 09:06:57
Makro
Hallo Gerd,
kannst Du mir ein Stichwort geben, mit dem ich evtl. Tutorials dazu finden kann?
Danke & Gruß aus Bremen
Sebastian
AW: Aufruf von Makro in externer Datei
Makro
Hallo Sebastian,
ich brauch's selbst nicht alle Tage,
den Pfad u. den vollständigen Dateinamen musst Du als Stringvariablen deklarieren.
With ThisWorkbook.Worksheets(3).Range("A1:D3") 'Bereich anpassen
.ClearContents
.FormulaArray = "=" & "'" & strPfad & _
"[" & Dir(strDatei) & "]Tabelle1'!A1:D3" 'Bereich anpassen
.Value = .Value
End With
Gruß
Gerd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige