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

MsgBox anstatt Fehlermeldung

MsgBox anstatt Fehlermeldung
30.10.2005 12:04:02
Dieter.G
Hallo zusammen,
mit einem Macro werden aus einer Exceldatei mit dem Namen z.B. Eingabe.xls, Daten in eine andere Exceldatei mit dem Namen z.B. Auswertung.xls kopiert.
Mein Problem:
Wenn ich jetzt das Macro in der Auswertung.xls ausführe und vergessen habe die Eingabe.xls zu öffnen bekomme ich die Fehlermeldung: Laufzeitfehler '9': Index außerhalb des gültigen Bereichs.
Wie kann ich die Fehlermeldung mit einer MsgBox: z.B. "Zuerst muss die Eingabedatei geöffnet werden". abfangen?
Danke für die Hilfe
Gruß Dieter

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MsgBox anstatt Fehlermeldung
30.10.2005 12:13:07
Alex
Hallo,
ich würde es mit folgender Funktion testen:

Function WBIsOpen(wb As String) As Boolean
Dim e As Workbook
WBIsOpen = False
For Each e In Workbooks
If e.Name = wb Then WBIsOpen = True
Next e
If Not WBIsOpen Then MsgBox "zuerst Eingabe.xls öffnen"
End Function

Aufruf im Code:
...
if WBIsOpen("Eingabe.xls") then...
...
AW: MsgBox anstatt Fehlermeldung
30.10.2005 12:45:01
Dieter.G
Hallo Alex,
das krieg ich irgendwie nicht hin! Wo genau im Macro muß ich die Function einfügen?
Gruß D.
AW: MsgBox anstatt Fehlermeldung
30.10.2005 12:48:59
Matthias
Hallo Dieter,
nicht im Makro, außerhalb. Davor oder danach:

Sub Deinmakro()
If WBIsOpen("Eingabe.xls") Then ...
End Sub
Function WBIsOpen(wb As String) As Boolean
Dim e As Workbook
WBIsOpen = False
For Each e In Workbooks
If e.Name = wb Then WBIsOpen = True
Next e
If Not WBIsOpen Then MsgBox "zuerst Eingabe.xls öffnen"
End Function

Gruß Matthias
Anzeige
AW: MsgBox anstatt Fehlermeldung
30.10.2005 12:54:34
Alex
Füge doch folgendes einfach in ein Modul ein:
Option Explicit

Function WBIsOpen(wb As String) As Boolean
Dim e As Workbook
WBIsOpen = False
For Each e In Workbooks
If e.Name = wb Then WBIsOpen = True
Next e
End Function


Sub Teste()
Dim wb As String
wb = "Eingabe.xls"
If Not WBIsOpen("Eingabe.xls") Then
MsgBox "zuerst " & wb & " öffnen!"
Else
'Dein Code, der ausgeführt werden soll,
'wenn die Mappe geöffnet ist
End If
End Sub

Und führe die

Sub "Teste" aus.
Allerdings wäre es noch eleganter,
die Datei gleich auch über vba zu öffnen.

Anzeige
AW: MsgBox anstatt Fehlermeldung
30.10.2005 13:35:04
Dieter.G
Hallo Alex,
jetzt hab ich's geschnallt, funktioniert einwandfrei!
Danke nochmal
Gruß D.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige