Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Makro - Datei abspeichern - Datenverlust?
#1
Rainbow 
Hallo zusammen,

ich habe folgenden funktionieren Code in einer Testdatei zum Laufen gebracht. Wenn ich jetzt eine etwas größere Arbeitsdatei bei uns damit abspeichern will, dann sagt er mir " Erheblicher Funktionalitätsverlust". Im Endeffekt speichert er dann die datei ohne daten mit 0 KB...habt Ihr eine Idee woran es liegt?

Sub SPEICHERN()
'Datei und Pfad sind Wörter, die in VBA
'Verwendung finden und deshalb verboten
'sind
Dim sDatei As String, sZielDatei As String
Dim Pos
'Dim sPfad As String
'hier fehlt der Backslash (\)
'sPfad = ThisWorkbook.Path
sPfad = ActiveWorkbook.Path & "\"
sDatei = ActiveWorkbook.Name
'
'in Dateinamen sind z.B. Doppelpunkte
'nicht erlaubt
'Dateinamen extrahieren
Pos = InStrRev(sDatei, ".", , vbTextCompare)
sZielDatei = sPfad & Mid(sDatei, 1, Pos - 1)
sZielDatei = sZielDatei _
& "_" & Format(Date, "yyyyMMdd")

'MsgBox sZielDatei
'
ActiveWorkbook.SaveAs Filename:=sZielDatei & ".xlsm", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.Close
End Sub

vg, die Kirsche
Antworten Top
#2
Hallo Kirsche,
um ein .xlsm zu speichern,muss als Fileformat xlOpenXMLWorkbookMacroEnabled genutzt werden, also

ActiveWorkbook.SaveAs Filename:=sZielDatei & ".xlsm", FileFormat:=[b]xlOpenXMLWorkbookMacroEnabled[/b], Password:=...

sonst passen Endung und Format nicht zusammen.
Gruß der AlteDresdner (Win11, Off2021)
Antworten Top
#3
Moin!
Interessant finde ich:
Code:
'Datei und Pfad sind Wörter, die in VBA
'Verwendung finden und deshalb verboten
'sind

Was führt die Kirschgurke zu dieser falschen Erkenntnis?

Am Rande:
Es ist ein "Glaubenskrieg", ob man Variablen nach der ungarischen Notation benennen sollte.
Es gibt sogar (auch hier im Forum) ausgewiesene Koryphäen, die auf Deklaration gleich ganz verzichten.
Die "Wahrheit" ist wie so häufig irgendwo in der Mitte.
Jedenfalls spricht nichts dagegen, eine Variable Pfad oder Datei zu nennen.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#4
(23.07.2018, 18:07)RPP63 schrieb: Jedenfalls spricht nichts dagegen, eine Variable Pfad oder Datei zu nennen.

Hauptsache, sie wird überhaupt deklariert, was hier für die Pfadvariable nicht geschieht.

Gruß Uwe
Antworten Top
#5
Auch das noch!  Confused  :19:
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#6
Hallöchen,

das ist wie mit allen Geschichten, ein Körnchen :15: Wahrheit findet sich zuweilen darin. Wenn schon,
Zitat:'Datei und Pfad sind Wörter, die in VBA
'Verwendung finden und deshalb verboten
'sind
würde ich hier Path und File erwähnen und nicht die deutsche Übersetzung. Unabhängig davon ist auch nix "verboten", man sollte nur das eine oder andere vermeiden, ansonsten merkt lediglich eventuell und irgendwann, dass etwas nicht geht oder anders läuft, als erwartet … :100:
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste