Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1532to1536
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

Speichern unter ....

Speichern unter ....
11.01.2017 09:31:35
Thomas
Hallo
Ich habe eine Excel Vorlage mit Makros, welche per speichern unter gespeichert wird.
Wenn man die gespeicherte Datei öffnet, etwas darin verändere und die speichern will, bekomme ich logischer Weise eine Fehlermeldung.
Wie kann ich den Code verändern, sodass ich auch dort speichern kann.
Der Dateiname soll erhalten bleiben.
Hier mal der Code.
Private Sub Ölblattspeichern_Click()
Dim a As String
a = Range("Tabelle2!C3").Value
b = Range("Tabelle2!C28").Value
Application.DisplayAlerts = False
ChDir "X:\Groups\EASZ-FR17\Oelblätter"
ActiveWorkbook.SaveAs Filename:= _
"X:\Groups\EASZ-FR17\Oelblätter\" + a + "_" + b, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
Dim objShell As Object
Set objShell = CreateObject("WScript.Shell")
objShell.Popup "Die Datei wurde erfolgreich auf dem Laufwerk gespeichert", 2, "Info"
Set objShell = Nothing
Application.Quit
End Sub

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speichern unter ....
11.01.2017 09:42:11
Daniel
Hi
beachte: was du bekommst, ist keine Fehlermeldung, sondern ein Rückfrage des Systems, wie es sich in einer nicht eindeutigen Situation verhalten soll.
diese Rückfragen des Systems kannst mit dem Befehl:
Application.EnableEvents = False
unterdrücken.
Wenn danach so eine Situation eintritt, verwendet VBA die voreingestelle Auswahl (dh die, die du bekommst wenn du in dem Dialog einfach ENTER drückst, in der Regel das JA)
hinterher sollte man aber die Rückfragen wieder aktivieren.
wenn also eine Vorhandene Datei einfach überschrieben werden soll, dann:
Application.EnableEvents = False
AcitveWorkbook.SaveAs Filename:=.....
Application.EnableEvents = True
wenn du die NEIN-Option haben willst, dann geht das so nicht, dann müsstest du im Vorfeld prüfen, welcher Fall vorliegt.
Gruß Daniel
Anzeige
AW: Speichern unter ....
11.01.2017 10:07:09
Thomas
Ich bekomme bei meinem Code die Meldung:
Laufzeitfehler 1004:
Zugriff auf 'Dateiname.xls' verweigert
AW: Speichern unter ....
11.01.2017 10:10:24
Thomas
Vergessen zu sagen. Wenn ich die Datei öffne, öffnet sich nur die Userform, die wiederum die Daten aus dem Tabellenblatt ausliest und anzeigt.
Liegt es vielleicht daran?
AW: Speichern unter ....
11.01.2017 10:24:10
Daniel
Hi
wenn du die Datei unter dem gleichen Namen speichern willst, nimmst du natürlich nicht SaveAs sondern Save.
wenn du die Datei unter einem anderen Namen speichern willst und dieser Fehler tritt auf, dann liegt das daran, dass bereits eine Datei mit diesem Namen existiert und diese Datei geöffnet ist und daher nicht überschrieben werden kann.
Gruß Daniel
Anzeige
AW: Speichern unter ....
11.01.2017 10:34:05
Thomas
Genau das ist ja mein Problem.
Ich speichere die Dateiname.xltm als speichern unter....
Nun öffne ich die gespeicherte Datei vom Laufwerk, ändere etwas ab und möchte diese unter dem selben Namen, am selben Ort speichern.
Am liebsten über den selben Button.
Kann man den Code so verändern, das das geht?
AW: Speichern unter ....
11.01.2017 11:20:41
Daniel
Hi
wenn du sie nochmal speicherst, einfach mit SAVE speichern.
wenn du für erstes Speichern und weiteres Speichern den gleichen Button verwenden willst, dann könntest du das ggf so überprüfen:
If thisworkbook.Name like ".xltm" then
Activeworkbook.SaveAs Filename
else
ActiveWorkbook.Save
end if
damit wird beim ersten Speichern, wenn die Datei noch die Vorlage ist, das SaveAs angewendet, beim weiteren Speichern dann das Save.
oder auch so:
If ActiveWorkbook.FullName = geplanterSpeichername Then
ActiveWorkbook.Save
else
Activeworkbook.SaveAs geplanterSpeichername
End if
Gruß Daniel
Anzeige
AW: Speichern unter ....
11.01.2017 12:25:51
Thomas
Ok.
Aber irgendwie reichen meine Kenntnisse gerade nicht aus, mein Code anzupassen.
Ich weiß, das ist kein "Bau mir mal" aber, wie müsste denn mein Code dann aussehen?
Leider habe ich gerade mal wenige Grundkenntnisse erlangt und tue mich da eben gerade schwer.
Hier noch mal meiner:
Private Sub Ölblattspeichern_Click()
Dim a As String
a = Range("Tabelle2!C3").Value
b = Range("Tabelle2!C28").Value
Application.DisplayAlerts = False
ChDir "X:\Groups\EASZ-FR17\Oelblätter"
ActiveWorkbook.SaveAs Filename:= _
"X:\Groups\EASZ-FR17\Oelblätter\" + a + "_" + b, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
Dim objShell As Object
Set objShell = CreateObject("WScript.Shell")
objShell.Popup "Die Datei wurde erfolgreich auf dem Laufwerk gespeichert", 2, "Info"
Set objShell = Nothing
Application.Quit
End Sub

Anzeige
AW: Speichern unter ....
11.01.2017 12:41:44
Daniel
HI
naja, wenn du den Code bis dahin geschafft hast, dann sollte der Rest auch kein Problem sein.
einfacher wird's, wenn du den geplanten Namen erst mal in eine Variable schreibst.
Gruß Daniel
AW: Speichern unter ....
11.01.2017 12:48:23
Thomas
Den Code hat mein Vorgänger geschrieben, der jedoch, ist jetzt in Rente ;-)
AW: Speichern unter ....
11.01.2017 13:20:04
Daniel
Hi
ja, aber ich bin nicht sein Nachfolger und werde auch nicht dafür bezahlt, deinen Job zu machen.
wenn er in Rente gegangen ist, dann war das doch absehbar und du hättest dir vorher ein paar Grundkenntnisse in VBA aneignen können.
das ganze ist ja jetzt auch nicht so schwer.
den prinzipellen Ablauf habe ich dir ja benannt.
Gruß Daniel
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige