Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
332to336
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
332to336
332to336
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Problem mit Speicher-Makro!

Problem mit Speicher-Makro!
09.11.2003 06:51:22
Oliver S.
Moin an alle,

die schon wach sind. Ich benötige mal wieder Hilfe zu einem Makro. Ich benutze nachfolgendes Makro, um eine Datei zu speichern.



Sub Speichern()
Const DateiName = "S:\HAUSSTATION\Auslesedaten Zenner Zähler\Vorlagen\Vorlage Monatsauslesung Datenlogger.xls"
Dim s
Dim Abfrage As Boolean
Application.Dialogs(xlDialogSaveAs).Show
If a = 0 Then
Call Tabelle1_ein
Abfrage = False
s = ActiveWorkbook.FullName
Cancel = True
  'If SaveAsUI Or UCase(ActiveWorkbook.FullName) = UCase(VorlagenName) Then
 'Abfrage = True
    Do
    s = Application.GetSaveAsFilename(InitialFileName:="", fileFilter:="Excel-Arbeitsmappe, *.xls")
    If s = False Then Call Tabelle1_aus
    If s = False Then Exit Sub 'Abbruch gedrückt
    ok = True
    If UCase(s) = UCase(VorlagenName) Then ok = False: _
        MsgBox "Dies ist die Vorlage! Bitte andere Datei wählen!"
    Loop Until ok = True
End If
Application.EnableEvents = False
Application.DisplayAlerts = Abfrage
On Error Resume Next
ActiveWorkbook.SaveAs Filename:=s
On Error GoTo 0
Application.DisplayAlerts = True
Application.EnableEvents = True
'End If
a = 0
Call Tabelle1_aus
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5


Dieses Makro lässt es nicht zu, beim Speichern den Namen der Vorlagendatei zu vergeben. Die Datei muss immer unter einem anderen Namen abgespeichert werden. Einzige Ausnahme, wenn a = 1 (a wird durch eine Tastenkombination auf 1 gesetzt), dann kann die Datei unter ihrem Namen abgespeichert werden. Mein Problem ist nun folgendes, egal ob ich die Datei unter einem anderen Namen oder unter ihrem eigenen Namen speichere oder die Abbruchtaste drücke, das Fenster Speichern unter wird immer zweimal hintereinander geöffnet. Ich muss also immer zweimal speichern oder nach dem ersten Speichern die Abbruchtaste drücken. Ich komme einfach nicht dahinter wieso das so ist. Vielleicht hat ja hier jemand einen Tip für mich.


Für die Lösung wäre ich Euch dankbar.
Schon mal besten dank,
Oliver

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

Betreff
Datum
Anwender
Anzeige
AW: Problem mit Speicher-Makro!
09.11.2003 07:58:55
Nepumuk
Hallo Oliver,
dem Code entnehme ich das du einmal den Dialog "xlDialogSaveAs" aufrufst und im Anschluss den Dialog "GetSaveAsFilename". Also zwei mal das praktisch selbe Fenster. Wobei ich mit dem ersten speichern kann wie ich lustig bin.
Gruß
Nepumuk
AW: Problem mit Speicher-Makro!
09.11.2003 14:11:06
Oliver S.
Hi Nepumuk,

sorry, dass ich erst jetzt antworte und danke, dass Du geantwortet hast. Das Du im ersten Fenster speichern kannst, was Du willst, wird daran liegen, dass ich vergessen hatte zu erwähnen, dass in Diese Arbeitsmappe noch ein BeforeSave-Ereignis steht. Wobei die Anweisungen Analog zu dem Makro ist. Nachfolgend mal der Code:



Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Const DateiName = "S:\HAUSSTATION\Auslesedaten Zenner Zähler\Vorlagen\Vorlage Monatsauslesung Datenlogger.xls"
Dim s
Dim Abfrage As Boolean
If a = 0 Then
Abfrage = False
s = ActiveWorkbook.FullName
Cancel = True
If SaveAsUI Or UCase(ActiveWorkbook.FullName) = UCase(VorlagenName) Then
    Abfrage = True
    Do
    s = Application.GetSaveAsFilename(InitialFileName:="", fileFilter:="Excel-Arbeitsmappe, *.xls")
    If s = False Then Exit Sub 'Abbruch gedrückt
    ok = True
    If UCase(s) = UCase(VorlagenName) Then ok = False: _
        MsgBox "Dies ist die Vorlage! Bitte andere Datei wählen!"
    Loop Until ok = True
End If
ThisWorkbook.Saved = True
Application.EnableEvents = False
Application.DisplayAlerts = Abfrage
On Error Resume Next
ActiveWorkbook.SaveAs Filename:=s
On Error GoTo 0
Application.DisplayAlerts = True
Application.EnableEvents = True
End If
a = 0
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5


Wenn ich die erste Anweisung zum Öffnen des Fensters Speichern unter lösche, klappt dass was ich möchte gar nicht mehr. Vielleicht muss das Makro ja gänzlichst anders aufgebaut werden. Nur da stossen meine VBA-Kenntnisse an Grenzen. Eventuell hst Du ja noch einen Tip für mich.


MfG,
Oliver
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige