Microsoft Excel

Herbers Excel/VBA-Archiv

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

Fehlermeldung | Herbers Excel-Forum


Betrifft: Fehlermeldung von: Thor
Geschrieben am: 12.12.2009 08:10:25

Guten Morgen,

ich habe gestern ein wenig mit diesem Code herumgespielt (in einer sonst nicht weiter benötigten Datei "Mappe2"):

Diese Arbeitsmappe

Option Explicit
Private Sub Workbook_Activate()
Call Druckvorschau_mit_Benutzercode
End Sub
Private Sub Workbook_Deactivate()
Call Druckvorschau_zuruecksetzen
End Sub

Modul

Option Explicit
Sub Benutzercode()
ActiveSheet.PrintPreview False
End Sub
Sub Druckvorschau_mit_Benutzercode()
Dim cb As CommandBar, cbb As CommandBarButton
For Each cb In CommandBars
  Set cbb = cb.FindControl(ID:=109, Recursive:=True)
  If Not cbb Is Nothing Then cbb.OnAction = "Benutzercode"
Next
End Sub
Sub Druckvorschau_zuruecksetzen()
Dim cb As CommandBar, cbb As CommandBarButton
For Each cb In CommandBars
  Set cbb = cb.FindControl(ID:=109, Recursive:=True)
  If Not cbb Is Nothing Then cbb.OnAction = ""
Next
End Sub
Nachdem das alles nicht ganz so zu meiner Zufriedenheit funktioniert hat, habe ich irgendwann die Datei komplett gelöscht und den Rechner in den Standby-Modus versetzt.

Heute Morgen dann die Überraschung. Beim Öffnen einer anderen Excel-Datei und dem klick auf den "Druckvorschau"-Button bekam ich die Fehlermeldung, dass die Datei "Mappe 2", in der der Code "Benutzercode" steht nicht auf dem Rechner gefunden werden kann. Zudem lässt sich die Druckvorschau nicht öffnen.

Hat jemand eine Idee, wie ich diese Fehlermeldung wieder wegbekomme? Kann ja nicht der Sinn sein, dass ich eine sonst sinnlose Datei auf dem Rechner behalte.

Danke schonmal

Thor

  

Betrifft: AW: Fehlermeldung von: Daniel
Geschrieben am: 12.12.2009 08:39:30

Hi

ich vermute mal, daß dem Control immer noch das Makro "Benutzercode" zugewiesen ist, da das Event "Worksheet_Deactivate" nur beim Wechsel in eine andere Arbeitsmappe ausgelöst wird, aber nicht beim Schließen der Datei oder von Excel.

dh. um das Problem zu lösen müsstest du das Makro "Druckvorschau_zuruecksetzen" einfach nochmal laufen lassen, bzw die entsprechenden Befehle im Direktfenster eingeben, falls das möglich ist.

Für die Zukunft einfach merken:

derartige Makros müssen immer von 2 Events aufgerufen werden:
Workbook.Open / Workbook.Activate bzw Workbook.Close / Workbook.Deactivate, damit alle Fälle abgedeckt sind.

Gruß, Daniel


  

Betrifft: Warum vermuten? von: Nepumuk
Geschrieben am: 12.12.2009 10:24:09

Hallo Daniel,

wie wäre es, wenn du so etwas einfach mal testes? Der Code für die vier Events ist in einer Minute geschrieben, und damit deine Zweifel ein für allemal ausgeräumt.

' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_Activate()
    MsgBox "Activate"
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    MsgBox "BeforeClose"
End Sub

Private Sub Workbook_Deactivate()
    MsgBox "Deactivate"
End Sub

Private Sub Workbook_Open()
    MsgBox "Open"
End Sub

Es ist einfach so, dass das Open- bzw. BeforeClose - Event für einmalige Aktionen gedacht sind, wie z.B. das anlegen einer Commandbar bzw. das löschen derselben. Ein- und ausblenden der Commandbar die nur in der entsprechenden Mappe sichtbar sein soll geschieht im Activate- bzw. Deactivate - Event.

Jetzt klar? :-)

Gruß
Nepumuk


  

Betrifft: AW: Fehlermeldung von: ransi
Geschrieben am: 12.12.2009 09:34:46

HAllo

Versuch mal diesen 3-Zeiler...

Sub Druckvorschau_zuruecksetzen()
Dim cbb As CommandBarControl
For Each cbb In Application.CommandBars.FindControls(ID:=109)
    cbb.Reset
Next
End Sub



ransi


  

Betrifft: Danke von: Thor
Geschrieben am: 12.12.2009 10:12:56

Merci allerseits.

Dachte wirklich ich hätte mein Excel irgendwie zerschossen.


  

Betrifft: AW: Danke von: ransi
Geschrieben am: 12.12.2009 10:17:52

HAllo

Dachte wirklich ich hätte mein Excel irgendwie zerschossen.
Hattest du auch !!
;-)

ransi


Beiträge aus den Excel-Beispielen zum Thema "Fehlermeldung"