Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1052to1056
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

auto_open Makro

auto_open Makro
20.02.2009 22:50:00
Horst
Hallo Community,
wie kann ich ein Makro einer externen B.xls aus einem anderen, laufenden Makro der A.xls heraus starten.
Problem: In der A.xls läuft ein Makro beim Öffnen automatisch (auto_open) ab. Wie kann ich in einem VBA-Code der B.xls angeben, dass das Makro in der A.xls ausgeführt werden soll.
Gruß, Horst

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: auto_open Makro
20.02.2009 23:34:00
Josef
Hallo Horst,
Code in A
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_Open()
  MakroInA
End Sub

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub MakroInA()
  MsgBox "Nachricht aus " & ThisWorkbook.Name
End Sub

Code in B
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub MakroInB()
  Run "A.xls!MakroInA"
End Sub

Gruß Sepp

Anzeige
AW: auto_open Makro
21.02.2009 14:29:40
Josef
Hallo Horst,
die Datei mit dem aufgerufenen Makro muss geöffnet sein, "Run" offnet dir zwar die Datei, aber das Makro
kann dann nicht gefunden werden.
Das kannst du zB. so lösen.
Option Explicit

Sub MakroInB()
  Dim objWB As Workbook
  Dim strPath As String, strFile As String, strRun As String
  
  strPath = "C:\Dokumente und Einstellungen\User\Desktop\"
  If Right(strPath, 1) <> "\" Then strPath = strPath & "\"
  
  strFile = "A.xls"
  
  If Not isWBookOpen(strFile) Then
    Workbooks.Open (strPath & strFile)
  End If
  
  strRun = strFile & "!MakroInA"
  
  Run strRun
End Sub

Private Function isWBookOpen(ByVal WBName As String) As Boolean
  Dim objWB As Workbook
  
  For Each objWB In Workbooks
    If objWB.Name = WBName Then
      isWBookOpen = True
      Exit For
    End If
  Next
End Function

Gruß Sepp

Anzeige
AW: auto_open Makro
21.02.2009 19:19:54
Horst
Hallo Sepp,
funktioniert sehr gut. Wie müsste ich im Code angeben, dass die Datei A.xls nach erfolgreicher Ausführung des Makros wieder geschlossen wird? Mit Workbooks.Close würden sich beide Dateien (A und B) schließen.
Gruß, Horst
AW: auto_open Makro
21.02.2009 19:41:25
Ramses
Hallo
"...Mit Workbooks.Close würden sich beide Dateien (A und B) schließen...."
Da passiert gar nichs
Es gibt da ein Teil, das nennt sich "VBA-Hilfe".
Wenn du da "Close" eingibst,... wirst du fündig.
Workbooks("Datei.xls").Close
Gruss Rainer
AW: auto_open Makro
21.02.2009 20:37:41
Horst
"[...Mit Workbooks.Close würden sich beide Dateien (A und B) schließen....]
Da passiert gar nichts"
Bitte nur sachlich korrekte Kommentare abgeben! Bei Workbooks.Close schließen sich beide Mappen. Ich habe es soeben ausprobiert! Ramses, bist du auch VBA-Anfänger?
Sepp, vielen Dank für das Makro. Es funktioniert großartig!
Anzeige
AW: auto_open Makro
21.02.2009 21:17:40
Ramses
Hallo
".,..Ramses, bist du auch VBA-Anfänger?.."
Scheint so.
Gruss Rainer
Men-pehti-Re ist ein (VBA) Gott,
21.02.2009 21:53:58
Renee
und kein Computer wie HAL: "Gehirne der Serie 9000 sind die besten Computer, die jemals gebaut worden sind. Kein Computer der Serie 9000 hat jemals einen Fehler gemacht oder unklare Informationen gegeben. Wir alle sind hundertprozentig zuverlässig und narrensicher - wir irren uns nie."
Renée ;-)
AW: Men-pehti-Re ist ein (VBA) Gott,
22.02.2009 14:16:09
Horst
einfach im Betreff das "(VBA)" weglassen, dann stimmt's ... zumindest in Bezug auf das alte Ägypten ;-))

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige