Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makrohilfe

Forumthread: Makrohilfe

Makrohilfe
mike
Hallo,
habe folgendes Makro unter "Diese Arbeitsmappe" stehen:

Private Sub SpeichernUnter()
Dim strFileName As String, strPath As String
strFileName = "" & Range("J4") & ".xls"
strPath = "C:\Dokumente und Einstellungen\Papa\Eigene Dateien\Muster\Wochenpläne\"
If Dir(strPath & strFileName) > "" Then
Application.Dialogs(xlDialogSaveAs).Show (strFileName)
Else
ThisWorkbook.SaveAs strPath & strFileName
End If
End Sub

Wenn ich nun zum Speichern F12 drücke, wird auch richtig gespeichert.
Leider muss ich zum Überprüfen immer erst den Ordner "Wochenpläne" aufrufen.
Kann man das Makro so ändern, dass nach Drücken von F12 das Fenster "Speichern unter" mit dem Inhalt des Ordners "Wochenpläne" angezeigt wird, und die Mappe unter dem bereits richtig eingetragenen Namen gespeichert werden kann?
Gruß
mike
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makrohilfe
Axel
Hallo,
da ist wohl irgendetwas durcheinander gekommen.
F12 ruft den normalen Dialog "Speichern unter" auf. Damit wird dein Makro gar nicht ausgeführt.
Stelle den Code statt in das Klassenmodul "Diese Arbeitsmappe" als Public-Variante in einem normalen Modul zur Verfügung.
Dann funktioniert es auch so wie gewünscht.
Gruß
Axel
Anzeige
AW: Makrohilfe
mike
Hallo Axel,
danke für die schnelle Hilfe. Habe da was übersehen. Unter "Diese Arbeitsmappe" steht noch:
Option Explicit

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Ereignisse ausschalten, damit das "BeforeClose"-Ereignis nicht in
'einer Endlosschleife aufgerufen wird.
Application.EnableEvents = False
'Warnhinweise von Excel ausschalten
Application.DisplayAlerts = False
Call SpeichernUnter
'Warnhinweise wieder einschalten
Application.DisplayAlerts = True
'Ereignisse wieder einschalten
Application.EnableEvents = True
Cancel = True
End Sub


Private Sub Workbook_Open()
Application.ScreenUpdating = False
With Worksheets("Dienstplan")
.Protect UserInterfaceOnly:=True
'Zellauswahl wird bei aktivem Blattschutz auf die nicht
'gesperrten Zellen beschränkt.
.EnableSelection = xlUnlockedCells
If Range("F1").Value = "" Then Range("F1").Value = Date
End With
Application.ScreenUpdating = True
End Sub

gruß
mike
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige