Makro Schließen Speichername
#1
Moin!

Ich überarbeite gerade eine Excel, die vor Urzeiten mal mit einem Makro versehen wurde. Dieser löst aus, dass bestimmte Werte einer Zeile in eine andere Excelmappe übertragen werden und diese Mappe einzeln in einem bestimmten Ordner gespeichert werden.

Abspeichern funktioniert soweit auch. Ich wollte nun aber den Namen der zu speichernden Datei umändern. Bisland war das immer eine Kombination aus 4 Buchstaben und 7 Zahlen. Nun soll es ein Aktenzeichen (beispielweise 01/2026) werden. Die enstprechende Zelle ist im Makro geändert worden. Leider der Dateiname dann als Datum (hier dann 01.01.2026) dargestellt und nicht wie gewollt als 01/2026.

Es hilft leider auch nicht, ein ' vor das Aktenzeichen zu legen. Nehme ich aber #001, funktioniert das. Die Datei heißt dann #001. Ergänze ich dies um /2026 am Ende bekomme ich einen Fehler.

Ist es überhaupt möglich, das Makro so zu verändern, dass die Datei am Ende als 01/2026 gespeichert wird?

Anbei das Makro.

Vielleicht hat ja jemand eine Idee.

Danke vorab BaC


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#2
Moin

in Windows ist der Forwardslash kein gültiges Zeichen für einen Dateinamen.

Und fürs nächste Mal: "bekomme ich einen Fehler" ist eine ziemlich schlechte Fehlerbeschreibung, die keinem der Helfenden weiterhilft.

Viele Grüße 
derHoepp
Antworten Top
#3
Moin!

Danke für die schnelle Rückmeldung.

Es taucht dann der Laufzeitfehler '1004" auf Die Methode 'SaveAs' für das Objekt '_Workbook' ist fehlgeschlagen.

Gehe ich dort auf Debuggen lande ich in der Makro bei AktiveWorkbook. SaveAs (im Screenshot teilweise aufgrund Datenschutz unkenntlich gemacht)

Ich vermute, es hängt vielleicht damit zusammen, was nach dem unkenntlich gemachten Part auftaucht. Da wüsste ich aber nicht, wie ich den Wert dort verändern müsste.

Viele Grüße
Antworten Top
#4
Nimm DIESEN Code:
   

Was zum Teufel ist an einem DateiNAMEN  so "top secret" ???
Antworten Top
#5
Du meinst den Speicherort? Da der für mein Problem keine Relevanz hat, muss der hier auch nicht sichtbar sein. Der Speicherort funktioniert, nur der Dateiname nicht so, wie gewollt.

Aber danke für den "Versuch" des Helfens.
Antworten Top
#6
(24.02.2025, 13:43)Bacardinh0 schrieb: ... nur der Dateiname nicht so, wie gewollt.

Beitrag #2 hast du gelesen, oder?
Antworten Top
#7
(24.02.2025, 14:03)knobbi38 schrieb: Beitrag #2 hast du gelesen, oder?

Habe ich, am Forwardslash scheint es aber nicht zu liegen. Er kann die Datei dann ja speichern. Nur halt leider als Datum und nicht als 01/2026. Versuche ich es mit 01 2026 kommt auch nur ein Datum heraus.

Mein Problem ist also leider noch nicht gelöst.
Antworten Top
#8

Sorry, das war kein Backslash - aber trotzdem verboten:
Microsoft:
[*]Verwenden Sie ein beliebiges Zeichen auf der aktuellen Codepage für einen Namen, einschließlich Unicode-Zeichen und Zeichen im erweiterten Zeichensatz (128–255), mit Ausnahme von folgendem:
  • Die folgenden reservierten Zeichen:
    • < (kleiner als)
    • Größer als >
    • : (Doppelpunkt)
    • " (doppeltes Anführungszeichen)
    • / (Schrägstrich)
    • \ (umgekehrter Schrägstrich)
    • | (vertikaler Balken oder Pipe)
    • ? (Fragezeichen)
    • * (Sternchen)
  • Ganzzahliger Wert null, manchmal auch als ASCII-NUL-Zeichen bezeichnet.
  • Zeichen, deren ganzzahlige Darstellungen im Bereich von 1 bis 31 liegen, mit Ausnahme alternativer Datenströme, in denen diese Zeichen zulässig sind. Weitere Informationen zu Dateidatenströmen finden Sie unter Dateidatenströme.
  • Alle anderen Zeichen, die das Zieldateisystem nicht zulässt.
Antworten Top
#9
Hallo,

ein Slash oder Backslash geht grundsätzlich nicht! Aber wir wäre es dann mal, in C1 einen Text einzugeben, '01_2006 und kein Datum oder eine Zahl?

Die Zeile
Code:
strDatei = Format(Range("C1"))
kannst du dir auch gleich schenken, was soll die bewirken?
Antworten Top
#10
Ich kann deine Aussagen nicht ganz verstehen, zumal ich das Gefühl habe, wir reden hier aneinander vorbei.

Der Speicherort funktioniert

Nehmen wir das hier als Beispiel:

ActiveWorkbook.SaveAs Filename:="V:\AB\CDE\Ordner\Unterordner\Weiterer Ordner\Zielordner\ " & strDatei & ".xlsx"

Dort landet die erstellte Datei dann auch.

nehme ich als Namen 01/2026 kommt die Datei dort auch an, jedoch mit dem Dateinamen 01.01.2026
nehme ich als Namen 01 2026 kommt die Datei dort auch an, jedoch mit dem Dateinamen 01.01.2026 

Meiner Meinung nach hat das dann doch nichts mit dem \ oder / zu tun oder?

Ich möchte ja lediglich, dass er die Datei dann enstprechend als 01/2026 abspeichert. Ich habe auch schon versucht, die Zelle dementsprechend zu formatieren (als Standard, Datum, Benutzerdefiniert), es kommt aber aufs gleiche Ergebnis hinaus.
Antworten Top


Gehe zu:


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