Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Makro an bestimmt. Stelle abrechen bzw. stoppen?

Betrifft: Makro an bestimmt. Stelle abrechen bzw. stoppen? von: Sven
Geschrieben am: 25.08.2004 10:31:31

Hallo alleseits.

Ich hab da doch mal wieder ein kleines Problem & hoffe ihr könnt mir helfen!?

problem:
Ich habe einen einen Button auf Tabelle1 (in Mappe WP01) der die komplette Mappe schließt und speichert:

(Workbooks("WP01.XLS").Close

Vorher muss aber noch eine BlattNamenkopie in eine ander Mappe (WP00) erfolgen, dessen Vorgang ich in "DieseArbeitsmappe" eingetragen habe:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

On Error GoTo Fehler
Workbooks("WP00.xls").Sheets("BlattNamen").Range("A1:A20").ClearContents
Dim i As Integer
For i = 5 To Sheets.Count
Workbooks("WP00.xls").Sheets("BlattNamen").Cells(i - 4, 1) = Sheets(i).Name
Next i

Fehler:
MsgBox "Fehler!" & Chr(13) & Chr(13) & _
"Ursache:" & Chr(13) & "'WP00.xls' nicht geöffnet!" & _
Chr(13) & "Bitte vorm schließen 'WP00.xls' öffnen!", "0"

End Sub



Problem ist nun folgendes, wenn ich die Mappe WP00 noch offen habe, funktioniert alles prima. Aber wenn sie geschlossen ist natürlich nicht, da kommt dann der Fehler hoch. Den wollte ich jetzt einfach mit einer MessageBox mit einem Hinweistext abfangen.
Aber wenn ich diese Box dann schließen führt er ja den Close-Befehl trotzdem aus, was er ja dann nicht soll. Es sollte nach der MessageBox dann ja nichts passieren, sodass der Benutzer erstmal die Mappe WP00 öffnet, und danach nochmal auf den Close-Button drückt...? Irgenwie müsste das Makro also an einer bestimmten Stelle (nach MSGBOX) gestoppt werden?

Gruß
Sven
  


Betrifft: AW: Makro an bestimmt. Stelle abrechen bzw. stoppen? von: Ulf
Geschrieben am: 25.08.2004 10:36:18

Private Sub Workbook_BeforeClose(Cancel As Boolean)

On Error GoTo Fehler
Workbooks("WP00.xls").Sheets("BlattNamen").Range("A1:A20").ClearContents
Dim i As Integer
For i = 5 To Sheets.Count
Workbooks("WP00.xls").Sheets("BlattNamen").Cells(i - 4, 1) = Sheets(i).Name
Next i
Exit sub 

Fehler:
MsgBox "Fehler!" & Chr(13) & Chr(13) & _
"Ursache:" & Chr(13) & "'WP00.xls' nicht geöffnet!" & _
Chr(13) & "Bitte vorm schließen 'WP00.xls' öffnen!", "0"
cancel = true
End Sub


Ulf


  


Betrifft: Klappt, danke! von: Sven
Geschrieben am: 25.08.2004 11:01:16

.


 

Beiträge aus den Excel-Beispielen zum Thema "Makro an bestimmt. Stelle abrechen bzw. stoppen?"