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 geht nicht mehr
#1
Hallo an alle Excel-Profis,
 ich habe lange ein Makro benutzt um eine Datei mit STRG+s automatisch zu speichern.Das streikt jetzt und ich komm nicht drauf warum. 22
Vorbedingung: 
in Zelle "U1" steht das Ziel, das wird übernommen und korrekt angezeigt
In Zelle "U2" und "V2" steht der Name des Files. Dabei ist "U2" ein Text z.B. "TL_" und V2 ist ein Datum das aus einer anderen Zelle übernommen wurde. Z.B. 2024.01.02
Am Ende wird im Ordner "...\2024.01 "   das File "TL_2024.01.02,xlsx"   gespeichert

Macro-code:

Sub Speichen()
Dim lw_pfad As String
lw_pfad = ActiveSheet.Range("U1").Value
lw_pfad = InputBox("Geben Sie hier das Laufwerk und den Pfad an, wo die Datei gespeichert werden soll." & Chr(13) & Chr(13) & "(Ihre Eingabe wird in U1 als neuer Default-Wert gespeichert.)", "Datei speichern unter...", lw_pfad)
If lw_pfad = "" Then
  MsgBox "Die Datei wird nicht gespeichert, da Sie [Abbrechen] gedrückt oder nichts eingegeben haben.", , "Abbruch"
  Exit Sub
Else
  If Right(lw_pfad, 1) <> "\" Then lw_pfad = lw_pfad & "\"
  ActiveSheet.Range("U1").Value = lw_pfad
Rem MsgBox lw_pfad
ActiveWorkbook.SaveAs lw_pfad & ActiveSheet.Range("U2")Value & Range("V2").Value & ".xlsx"
MsgBox "Die Datei wurde unter " & lw_pfad & ActiveSheet.Range("U2").Value & ActiveSheet.Range("V2").Value & ".xlsx gespeichert.", , "OK"
End If
End Sub


In der roten Zeile wir beim Debuggen der Laufzeitfehler 1004 angezeigt?!   16
Woran könnte es liegen?
Danke für einen Tip! Ihr würdet mir sehr helfen!
Grüße und alles Gute zum Neuen Jahr, 
DocKo

P.S.
Ich habe mehrere Files die ich automatisch speichere. Dabei ändere ich im Code das Ziel, was immer geht und den Namen. Dieser besteht manchmal aus 3 Komponenten, wobei ich eben dann eine Zelle im Code weglasse, d.h. ich lösche z.B.      Value & Range("X2").
Bislang hat das immer funktioniert.
Antworten Top
#2
Hallo,

vor dem ersten Value fehlt der Punkt.

Gruß, Uwe
Antworten Top
#3
Danke für den Hinweis, war ein Kopierfehler, änder aber nichts, auch mit Punkt. Hier die aktuellen Zeilen nochmals rauskopiert:

Rem MsgBox lw_pfad
ActiveWorkbook.SaveAs lw_pfad & ActiveSheet.Range("U2").Value & Range("V2").Value & ".xlsx"
MsgBox "Die Datei wurde unter " & lw_pfad & ActiveSheet.Range("U2").Value & ActiveSheet.Range("V2").Value & ".xlsx gespeichert.", , "OK"
End If
End Sub
Antworten Top
#4
Hi,

wie wäre es mit einer Beispieldatei, in der der Fehler auftritt?

Vermutlich steht in U2 oder V2 irgendwas, was nicht in einen Dateinamen gehört, oder der Name wird insgesamt zu lang, oder ...
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#5
Habe den Fehler durch "Probieren" entdeckt.
Ich habe die Vorlage "xltm" geöffnet und diese will das Skript dann nicht als "xlsx" speichern, eigentlich klar.
Erstelle ich aus der Vorlage durch "neu" ein "xlsx " Fille gehts!
Blöder Fehler... Sorry   20
Danke fürs anschauen!
Gruß,
DocKo
Antworten Top


Gehe zu:


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