Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

application.run

Forumthread: application.run

application.run
10.01.2009 19:31:00
meixner
Hallo,
ich möchte das Makro mit dem Namen "Datei aktualisieren" das sich in der Arbeitsmappe "Zentrale.xls" befindet aus einer anderen Arbeitsmappe ausführen über application.run. Wie funktioniert das?
Ich habe in einer neuen Arbeitsmappe Datei.xls Folgendes ausprobiert:

Sub makro_ausführen()
Application.Run "Zentrale.xls!Datei aktualisieren"
End Sub


Aber es funktioniert nicht.
Vielen Dank.
Laura

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: application.run
10.01.2009 19:46:00
Hajo_Zi
Hallo Laura,
ist die Datei mit Makro auf?
Oder ein Verweis in VBA auf die Datei gesetzt?

AW: application.run
10.01.2009 21:24:00
meixner
Hallo Hajo,
nein, die Arbeitsmappe Zentrale.xls ist nicht auf.
Viele Grüsse,
Laura
AW: application.run
11.01.2009 00:14:10
meixner
Hallo Hajo,
habe es jetzt so probiert. Klappt aber auch nicht...

Sub test()
Dim arbeitsmappe As String
arbeitsmappe = "zentrale"
Application.Workbooks.Open zentrale
Application.Run "zentrale.xls'!Datei aktualisieren"
End Sub


Viele Grüsse und vielen Dank,
Laura

Anzeige
AW: application.run
11.01.2009 10:51:00
Hajo_Zi
HalloLaura,
zum öffnen muss der Ordner angegeben werden und bei mir haben alle Dateien einen Dateityp der zum Namen gehört. Die Leerstelle im Makronamen hast Du ach noch noich entfernt.
Gruß Hajo
AW: application.run
11.01.2009 11:11:00
meixner
Hallo Hajo,
habe es aber auch so probiert. Leerzeichen ist weg und Pfad drin, aber klappt aber nicht. Sorry fürs nochmalige Posten. Bin erst seit gestern registriert und war mir der Vorgehensweise nicht bewusst!

Sub Test()
Dim Datei As String
Datei = "C:\Zentrale.xls"
Application.Workbooks.Open Datei
Application.Run "Zentrale.xls!Dateiaktualisieren"
End Sub


Viele Grüsse,
Laura

Anzeige
AW: application.run
11.01.2009 12:31:23
Tino
Hallo,
kleiner Tipp,
Excel hat einen Makrorekorder, Zeichne Dir damit das ausführen Deines Makros auf,
danach findest Du in einem Modul die richtige Syntax zu Application.Run
Gruß Tino
AW: application.run
11.01.2009 12:40:30
Tino
Hallo,
um alle Eventualitäten auszuschließen (zweimal den gleichen Makronamen verwendet)
muss die Korrekte Syntax so aussehen.
Application.Run "Zentrale.xls!Modul1.Dateiaktualisieren"
Eventuell den Modulnamen anpassen,
kann auch Modul2, Modul3, Tabelle1, Tabelle2 oder DieseArbeitsmappe heißen.
Gruß Tino
Anzeige
AW: application.run
10.01.2009 19:48:00
Heinz
Hi,
im Makronamen darf kein Leerzeichen sein.
mfg Heinz
AW: application.run
10.01.2009 19:57:00
robert
hi,
achte auf die schreibweise(hochkomma)
gruß
robert

Sub makro_ausführen()
Application.Run ("'Zentrale.xls'!test")
End Sub


;
Anzeige

Infobox / Tutorial

Anwendung von Application.Run in Excel VBA


Schritt-für-Schritt-Anleitung

Um ein Makro aus einer anderen Arbeitsmappe mithilfe von Application.Run auszuführen, folge diesen Schritten:

  1. Öffne die Arbeitsmappe mit dem Makro, das Du ausführen möchtest. In diesem Beispiel ist es Zentrale.xls.

    Sub makro_ausführen()
        Application.Workbooks.Open "C:\Zentrale.xls"
        Application.Run "'Zentrale.xls'!Dateiaktualisieren"
    End Sub
  2. Achte auf die Syntax: Stelle sicher, dass der Name der Arbeitsmappe und des Makros korrekt ist, ohne Leerzeichen im Makronamen.

  3. Führe das Makro aus der Arbeitsmappe aus, in der Du den Code geschrieben hast.


Häufige Fehler und Lösungen

  • Makro nicht gefunden: Stelle sicher, dass die Arbeitsmappe Zentrale.xls geöffnet ist. Wenn nicht, öffne sie vorher.

  • Falsche Syntax: Achte darauf, dass Du die korrekte Syntax verwendest. Der richtige Code sollte so aussehen:

    Application.Run "'Zentrale.xls'!Modul1.Dateiaktualisieren"
  • Schreibweise beachten: Beachte, dass im Makronamen kein Leerzeichen enthalten sein darf, da dies zu Fehlern führt.

  • Dateipfad: Wenn die Datei nicht im Standardverzeichnis gespeichert ist, gebe den vollständigen Pfad an.


Alternative Methoden

  • Makrorekorder verwenden: Du kannst den Makrorekorder in Excel verwenden, um die Ausführung eines Makros aufzuzeichnen. Dies hilft, die korrekte Syntax zu finden.

  • Direkte Zuweisung: Anstatt Application.Run zu verwenden, kannst Du auch direkt das Makro aufrufen, wenn Du es in der gleichen Arbeitsmappe hast:

    Call Dateiaktualisieren

Praktische Beispiele

  1. Ein einfaches Beispiel:

    Sub Beispiel()
        Application.Run "'Zentrale.xls'!Modul1.Dateiaktualisieren"
    End Sub
  2. Mit Fehlerbehandlung:

    Sub BeispielMitFehlerbehandlung()
        On Error Resume Next
        Application.Run "'Zentrale.xls'!Modul1.Dateiaktualisieren"
        If Err.Number <> 0 Then
            MsgBox "Fehler beim Ausführen des Makros: " & Err.Description
        End If
        On Error GoTo 0
    End Sub

Tipps für Profis

  • Halte Deine Makros gut dokumentiert, um die Übersicht zu behalten.
  • Verwende Option Explicit am Anfang Deiner Module, um sicherzustellen, dass alle Variablen deklariert sind.
  • Teste Deinen Code Schritt für Schritt, um Fehler frühzeitig zu erkennen.

FAQ: Häufige Fragen

1. Warum funktioniert mein Makro nicht, obwohl die Syntax korrekt aussieht?
Es kann sein, dass die Arbeitsmappe, die das Makro enthält, nicht geöffnet ist. Stelle sicher, dass die Datei vor dem Aufruf des Makros geöffnet wird.

2. Wie kann ich sicherstellen, dass mein Makro ohne Fehler läuft?
Nutze die Fehlerbehandlung in VBA, um sicherzustellen, dass Dein Makro auch bei unerwarteten Fehlern nicht abstürzt. Verwende On Error Resume Next, um Fehler zu ignorieren, und überprüfe anschließend, ob Fehler aufgetreten sind.

3. Was ist der Unterschied zwischen Application.Run und Call?
Application.Run wird verwendet, um ein Makro aus einer anderen Arbeitsmappe aufzurufen, während Call in der gleichen Arbeitsmappe verwendet wird.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige