Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1028to1032
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

Laufzeitfehler 5 wenn andere Mappen mit Makro

Laufzeitfehler 5 wenn andere Mappen mit Makro
09.12.2008 10:24:00
Chris
Hallo Wissende,
ich habe ein Problem, bei dem ich absolut auf der stelle trete. Vorgeschichte:
Ich habe ein Tool für eine Kollegin geschrieben, die mit Excel extrem unerfahren ist und sobald etwas nicht selbsterklärend ist, kapituliert sie. Ich habe versucht, jeden User-error auszuschließen und die Normalen Standard-Leisten ausgeblendet und durch eigenen ersetzt. Das funktioniert auch alles perfekt!!!
Nun das Problem:
Meistens funktioniert der Wechsle zwischen unterschiedlichen Arbeitsmappen über Workbook_Activate und Workbook_Deactivate einwandfrei. Wenn bestimmt Arbeitsmappen mit Makros aus einem Explorer oder heraus öffnet, kommt die Meldung.
„Laufzeitfehler 5: ungültiger Prozedurablauf oder ungültiges Argument“
Geht man auf Debuggen springt er zu folgender Zeile_

Sub edit_menubar()
' ERSTELLEN DER MENÜLEISTE
Dim objBar As CommandBar
Set objBar = Application.CommandBars.Add("NewToolbar", msoBarTop, True, False)  ’


Ich habe eine Sparversion des Tools hochgeladen:
https://www.herber.de/bbs/user/57468.xls
ACHTUNG:
Drückt man statt debuggen auf beenden war’s das mit den Leisten und Excel.
ALSO: ACHTUNG BEIM TESTEN!!!! IST MIR NOCH NICHT PASSIERT, ABER AN EINEM RECHNER MUSSTE EXCEL SCHON NEU INSTALLIERT WERDEN (ist mir von einer verärgerten IT- Abteilung berichtet worden)
Sollte es passieren hilft das Abspielen folgender Makros in Modul1 im VBA –Modus (aufrufbar über „Alt + F11“):
delete_menubar
edit_menubar
edit_usermenu
dann funktioniert das Tool wieder normal, die andere
Hat jemand eine Idee oder einen Lösungsansatz?
NOCHMAL: ACHTUNG!!!! EXCEL KANN BESCHÄDIGT WERDEN WENN NICHT DEBUGGEN BETÄTIGT WIRD!!!! NIX FÜR VBA-LAIEN!!!!

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 5 wenn andere Mappen mit Makro
09.12.2008 10:27:00
Hajo_Zi
Hallo Chris,
ich vermute mal Excel hätte nicht neu aufgespielt werden müssen sondern nur datei *.XLB löschen oder über ein Makro alles zurückstellen.

AW: Laufzeitfehler 5 wenn andere Mappen mit Makro
09.12.2008 12:01:00
Chris
Das Excel neu instaliert werdn musste ist mir nur von einer ziemlich verärgerten Person unserer IT-Abteilung berichtet worden. Ich selber habe es in versuchen nicht hinbekommen.
Ich habe ein ADDIN für für den Fall geschrieben und damit kann alles wiederhergestellt werden. Aber das kann ja icht die Lösung sein. Ich werde die verschiedenen Vorschläge hier mal ausprobieren.
Gruß
Chris
Anzeige
AW: Laufzeitfehler 5 wenn andere Mappen mit Makro
09.12.2008 10:37:00
Oberschlumpf
Hi Chris
Hab mir zwar dein Tool nicht angesehen, hab aber vielleicht ne andere Idee für dich.
Kannst du mit Hilfe von On Error GoTo ... diesen nicht Fehler abfangen?
Und sollte der Fehler 5 wieder auftreten, dann werden deine ganz unten aufgeführten Makros zur Wiederherstellung der Symbolleisten, etc automatisch wieder hergestellt - Excel wird also in den "Normalzustand" zurückgesetzt, und dein Tool (deine Makros) wird wenigstens "ordnungsgemäß" verlassen.
Oder kann man gerade diesen Fehler nicht abfangen?
Ciao
Thorsten
AW: Laufzeitfehler 5 wenn andere Mappen mit Makro
09.12.2008 13:07:57
Chris
Danke, Du hast Recht.
Das sollte ich auf jeden Fall einbauen, bei solchen Eingriffen in Excel. Es ist schon fast fahrlässig dass ich dies vergessen habe!!!! ;-)
Danke für dn Hinweis!
Chris
Anzeige
AW: Laufzeitfehler 5 wenn andere Mappen mit Makro
09.12.2008 11:02:34
Reinhard
Hi Chris,
der Fehler kommt weil zu diesem Zeitpunkt schon eine Commandbar mit dem Namen "NewToolbar" existiert.
Abhilfe evtl. so:
dim c, Vorh as boolean
for each C in application.commandbars
if c.name="NewToolbar" then
Vorh=true
exit for
end if
next c
if vorh=false then
Set objBar = Application.CommandBars.Add("NewToolbar", msoBarTop, True, False)
else
Set objBar = Application.CommandBars.Add("NewToolbar")
end if
with objbar
(wenn c.name nicht klappt, nimm c.caption)
Gruß
Reinhard
AW: Laufzeitfehler 5 wenn andere Mappen mit Makro
09.12.2008 13:05:00
Chris
Hi Reinhard,
ich werde deinen Vorschlag mal ausprobieren, werde es heute aber nicht schaffen, da ich dies Tool nur nebenbei betreue wenn ich mal Leerlauf habe.
Zu

der Fehler kommt weil zu diesem Zeitpunkt schon eine Commandbar mit dem Namen "NewToolbar" existiert


Wenn ich dich richtig verstanden habe, bin ich mir aber nicht sicher, ob dies wirklich die Ursache ist.
Das beschriebenen passiert, wenn mein Tool offen ist und aus dem Explorer heraus ein weitere Arbeitsmappe geöffnet wird. In diesen Arbeitsmappen sind aber keine Tollbars verwendet. Gibt´s da etwa einfach nur einen Logikfehfehler bei der Aktivierung und Deaktivierung meiner Arbeitsmappe?
Aber schon einmal danke für deinen Tip!
Chris

Anzeige
AW: Laufzeitfehler 5 wenn andere Mappen mit Makro
09.12.2008 13:11:30
Reinhard
Hi Chris,
zumindest kommt dieser Fehler wenn man deinen Code zweimal startet. D.h. ja nicht daß nicht noch anderes den gleichen Fehler auslöst.
Gruß
Reinhard
AW: Laufzeitfehler 5 wenn andere Mappen mit Makro
09.12.2008 13:37:00
Chris
Ok, ind diesem Fall ist es ja auch plausibe, da ich es noch nicht mit "ON Error Goto" abgefangen habe. Das werde ich jetzt mal einbauen und dann werde ich mal testen, ob sich damit auch die anderen Fälle abfangen lassen.
AW: Laufzeitfehler 5 wenn andere Mappen mit Makro
09.12.2008 13:10:00
Chris
Dies ist nur, damit die Frage noch offen ist. Hatte ich vergessen anzuklicken...
Sorry, Frage noch offen o.w.T.
09.12.2008 13:12:00
Reinhard


AW: Laufzeitfehler 5 wenn andere Mappen mit Makro
09.12.2008 13:34:00
Rudi
Hallo,
erst mal die Leiste löschen.

Sub edit_menubar()
' ERSTELLEN DER MENÜLEISTE
Dim objBar As CommandBar
On Error Resume Next
Application.CommandBars("NewToolbar").Delete
On Error GoTo 0
Set objBar = Application.CommandBars.Add("NewToolbar", msoBarTop, True, False)
With objBar
.Visible = True
.Protection = msoBarNoChangeDock + msoBarNoChangeVisible + msoBarNoCustomize + _
msoBarNoMove + msoBarNoResize
End With
End Sub


Gruß
Rudi

Anzeige
AW: Laufzeitfehler 5 wenn andere Mappen mit Makro
09.12.2008 13:40:41
Chris
Danke, werde ich ausprobierne und dann bescheid geben ob´s wirklich einwandfrei funktioniert. Habe ja jetzt schon diverse Lösungsmöglichkeiten bekommen. Aber dieser ist eigentlich extrem naheliegend.
Danke für den TIP, werde später ein Feedback geben!
Chris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige