Anzeige
Archiv - Navigation
1156to1160
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

Excel absturz nach Code

Excel absturz nach Code
Axel
Hi, ich habe nen VBA umgebaut aber excel bricht dabei immer ab.
Liegt das am Code oder am Rechner.
Hier der Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
ActiveWorkbook.SaveAs "C:\excel\" & Range("B5") & ".xls"
End Sub
Ist da was falsch?
Danke für eure Hilfe, Axel
mein Test verlief ohne Probleme ... (Xl2000)
27.05.2010 16:52:19
Matthias
Hallo Axel
Ich glaube eher nicht das es an der ExcelVersion liegt
Probier mal Range("B5").Value
oder/und
ThisWorkbook.SaveAs
Bei meinem Test ist Excel jedenfalls nicht abgestürzt.
Existiert der Pfad? Was steht in B5?
Gruß Matthias
AW: mein Test verlief ohne Probleme ... (Xl2000)
27.05.2010 16:56:52
Axel
Der Pfad existiert und in B5 steht 01.08.2010 oder 01.09.2010
Danke schon mal
AW: mein Test verlief ohne Probleme ... (Xl2000)
27.05.2010 16:57:57
Axel
Habe beides geändert, stürzt ab.
oder lad das Teil mal hoch ...
27.05.2010 17:12:38
Matthias
Hallo
Nimm mal alles raus was keiner sehen soll und lad mal Deine Mappe hoch
Evtl. ist Deine Datei ja defekt
Hast Du das schonmal mit einer neu angelegten Datei versucht ?
Was machst Du wenn Excel abstürzt ?
Schau mal im Taskmanager ob die Datei evtl noch offen ist!
Das könnte eine Ursache sein, das Excel immer wieder abstürzt
Strg+Alt+Entf und schau bei Anwendungen ob Dein Sheet noch geöffnet ist
Wenn Ja, dann solltest Du diese Anwendung beenden Task beenden
Und dann versuchs nochmal.
Also wie bereits erwähnt, hatte ich keinen Absturz und kann somit eigentlich leider nicht weiterhelfen.
Als Tipp: Lass Deine Frage "offen".
Gruß Matthias
Anzeige
AW: oder lad das Teil mal hoch ...
27.05.2010 17:22:53
Axel
Also wenn der Dateiname schon existiert, fragt er nach überschreiben und wenn ich dann speicher, stürzt excel nicht ab. Habs auch in ner ganz und gar neuen Datei versucht, geht auch nicht.
Sehr seltsam...
Danke nochmal
AW: oder lad das Teil mal hoch ...
28.05.2010 17:47:05
Nepumuk
Hallo,
1. Du solltest keine Punkte im Dateinamen haben. Punte trennen die Endung vom Namen und haben im restlichen Namen nichts verloren.
2. Im BeforeSave-Event die SaveAs-Methode auzuführen kann nur schief gehen. Das ist wie bei voller Fahrt den Rückwärtsgang einzulegen. Da knirschts im Getriebe.
Gruß
Nepumuk
Anzeige
AW: oder lad das Teil mal hoch ...
29.05.2010 07:00:04
Axel
Danke nepumuk, kann ich das irgendwie anders lösen?
Wäre sehr Dankbar für Deine Hilfe...
Danke, Axel
AW: oder lad das Teil mal hoch ...
29.05.2010 08:07:46
Tino
Hallo,
Du musst die Events abstellen, sonst ruft sich dieses Makro selbst auf.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = True
Application.EnableEvents = False
ThisWorkbook.SaveAs " C:\excel\" & Range("B5").Value & ".xls"
Application.EnableEvents = True
End Sub
Jetzt sollte Excel nicht mehr abstützen.
Die Punkte würde ich aber wie von Nepumuk beschrieben z. Bsp. mit _ darstellen.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = True
Application.EnableEvents = False
ThisWorkbook.SaveAs " C:\excel\" & _
Format(Range("B5").Value, "dd_mm_yyyy") & ".xls"
Application.EnableEvents = True
End Sub
Gruß Tino
Anzeige
AW: oder lad das Teil mal hoch ...
29.05.2010 10:40:20
Axel
Danke Tino aber funktioniert gar nicht mehr jetzt. Es wird nicht gespeichert.
AW: oder lad das Teil mal hoch ...
29.05.2010 12:32:21
Tino
Hallo,
doch es wird unter den Namen "...\Tag_Monat_Jahr.xls" gespeichert.
Du musst nur darauf achten, dass Application.EnableEvents wieder auf True gesetzt wird,
bleibt dies auf False wird kein Eventmakro mehr ausgelöst.
Gruß Tino
Originaldatei wird nicht gespeichert♦
29.05.2010 17:05:08
Tino
Hallo,
das die eigentliche Datei nicht gespeichert wird ist dir ja klar? Oder doch nicht?!
Du verwendest nur SaveAs (Speichern unter), damit wird die Originaldatei nicht mehr gespeichert.
Ist dies nich gewollt, baue noch vor dem "...SaveAs..." ,ThisWorkbook.Save ein.
Gruß Tino
Anzeige
AW: oder lad das Teil mal hoch ...
30.05.2010 15:59:29
Axel
Vielen Dank Tino, habe jetzt upgrade auf 2010 und dann funkt das mit diesem VBA:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.EnableEvents = False
ThisWorkbook.Save
Application.DisplayAlerts = False
ThisWorkbook.SaveCopyAs "C:\excel\" & Range("B5") & ".xlsm"
Application.DisplayAlerts = True
Application.EnableEvents = True
End Sub

Passt so super, meine Frau wird sich freuen, alles schön einfach. :-)
Fals das nochmal jemand braucht.
Danke an Dich und alle anderen...
Axel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige