Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
972to976
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
972to976
972to976
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro nur dann weiter ausführen wenn ext. Mappe..

Makro nur dann weiter ausführen wenn ext. Mappe..
24.04.2008 21:35:38
Josef
Hallo!
Erste Möglichkeit:
Ein Makro soll nur dann ausgeführt werden, wenn eine zweite externe AM geöffnet ist. Ist diese geschlossen, soll das Makro abgebrochen werden.
Zweite Möglichkeit:
Start des Makros - ist die externe Mappe geschlossen, dann öffnen, danach das Makro weiter ausführen,
ist jedoch die Arbeitsmappe bereits geöffnet, dann soll das Makro weiter ohne Unterbrechung ausgeführt werden.
Wie würde hier bitte eine VBA Lösung lauten?
Danke
Josef

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro nur dann weiter ausführen wenn ext. Mappe..
25.04.2008 07:26:00
Josef
Hallo ransi!
Auch an Dich ein Danke schön für die Hilfe und die Mühe
Josef

AW: Makro nur dann weiter ausführen wenn ext. Mapp
24.04.2008 22:06:14
Matthias
Hallo Josef,
Da du wohl Daten aus dieser Mappe brauchst, wird es dir nichts nützen, wenn sie in einer anderen Instanz oder evtl. sogar auf einem anderen Rechner im Netz geöffnet ist.
Deshalb mein Vorschlag:

Function MakeSureWorkbookIsOpen(Pfad As String, Optional ShowError = False) As Boolean
' Pfad: Voller Pfad zur Mappe (z.B. "C:\Test\Mappe1.xls")
' ShowError (optional): wenn True, wird eine evtl. Fehlermeldung beim Versuch,
'                          die Mappe zu Öffnen, angezeigt.
Dim wb As Workbook, offen As Boolean
For Each wb In Application.Workbooks
If UCase(wb.FullName) = UCase(Pfad) Then _
MakeSureWorkbookIsOpen = True: Exit Function
Next wb
Set wb = ActiveWorkbook
On Error Resume Next
Application.ScreenUpdating = False  'Öffnen im Hintergrund
Workbooks.Open Filename:=Pfad
If Err.Number > 0 Then
If ShowError Then MsgBox Err.Description, vbCritical, "Fehler " & Err.Number
MakeSureWorkbookIsOpen = False
Exit Function
End If
MakeSureWorkbookIsOpen = True
wb.Activate
Application.ScreenUpdating = True
End Function
Sub test()
MsgBox "Starte Makro, Prüfe auf offene Mappe:"
If MakeSureWorkbookIsOpen(ThisWorkbook.Path & "\Mappe1.xls") = False Then
MsgBox "Makro wird beendet!"
Exit Sub
End If
MsgBox "OK, weiter"
End Sub


Gruß Matthias

Anzeige
AW: Makro nur dann weiter ausführen wenn ext. Mapp
25.04.2008 07:25:44
Josef
Hallo Matthias!
Danke für Dein Mühe und Deine Hilfe.
Josef

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige