Makro Schließen Speichername
#11
NOCH EINMAL: "01/2026" als Dateiname geht nicht, da bei Windows ein "/" in Dateinamen VERBOTEN ist.

Hast du Probleme mit der Bedienung der Forumssoftware? Denn anscheinend liest du die Antworten nicht, die man dir schickt.
Antworten Top
#12
Vielleicht liest du dir nochmal durch, was du bis jetzt an Anworten erhalten hast. Dir ist schon der Unterschied zwischen den Datentypen Text und Datum in Excel bekannt?
Antworten Top
#13
Wenn mir alles so bekannt wäre, hätte ich hier nicht Fragen müssen. Es herrscht hier auch Allgemein ein nicht so toller Umgang mit Nutzern, die sich mit Excel, gerade bei Makros, nicht so gut auskennen.

Das / bewirkt bei mir aber keinen Fehler, das Makro ignoriert das / einfach. Schön. Lasse ich weg, habe verstanden, dass Microsoft das nicht mag (hat er ja selbst auch wegignoriert, weswegen das für mich kein weiteres Problem dargestellt hat). Lasse ich es aber weg und nehme 01 2026, nennt er die Datei trotzdem nach einem Datum. Warum nicht nach dem, was ich vorgebe? Und genau da liegt doch für mich das Problem drin. Egal ob ich da / oder nicht, er macht das nicht.

Was anderes möchte ich doch gar nicht beantwortet haben.

Stattdessen wird hier gefragt, warum ich einen unwichtigen Dateipfad unkenntlich mache...

Und nein, mir ist der Unterschied zwischen Dateitypentext und Datum in Excel nicht bekannt. Bzw. wüsste ich nicht, was das mit meinem Problem zu tun hat.

Er zieht seinen Dateinamen aus C1...dort steht 01 2026...er macht da 01.01.2026 draus. Das ist so nicht von mir beabsichtigt. Und darauf möchte ich gerne eine Antwort haben.
Nichts anderes.

Danke
Antworten Top
#14
Wenn du die Datei endlich mal (von mir aus anonymisiert) gepostet hättest, hättest du schon vor Stunden eine Lösung erhalten.
Sämtliche Daten (und all die geheimen Pfade) kannst du ruhig löschen, nur nicht die Zellen, aus denen der Dateiname entnommen werden soll.
Dann sehen wir auch, was genau der Fehler ist.....
Antworten Top
#15
Hi,

du hast hier zwei unterschiedliche Probleme.

Nachdem dir hoffentlich klar ist dass Windows keinen Dateinamen wie "01/2026.xlsx" zulässt, musst du dir halt überlegen, was du statt dessen haben willst.

Ein anderes Problem ist dein Aktenzeichen. Wenn du die Zeichenfolge 01/2026 in einer Zelle stehen haben willst, dann musst du entweder der Zelle VORHER das Format Text geben oder die Zeichenfolge mit einem Apostroph beginnen ('01/2026). Wenn du das nicht machst, wird Excel deine Eingabe als Datum interpretieren.

Mehr gibt es zu dem ganzen Thema eigentlich nicht zu sagen.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
[-] Folgende(r) 1 Nutzer sagt Danke an HKindler für diesen Beitrag:
  • Bacardinh0
Antworten Top
#16
(24.02.2025, 17:54)HKindler schrieb: Hi,

du hast hier zwei unterschiedliche Probleme.

Nachdem dir hoffentlich klar ist dass Windows keinen Dateinamen wie "01/2026.xlsx" zulässt, musst du dir halt überlegen, was du statt dessen haben willst.

Ein anderes Problem ist dein Aktenzeichen. Wenn du die Zeichenfolge 01/2026 in einer Zelle stehen haben willst, dann musst du entweder der Zelle VORHER das Format Text geben oder die Zeichenfolge mit einem Apostroph beginnen ('01/2026). Wenn du das nicht machst, wird Excel deine Eingabe als Datum interpretieren.

Mehr gibt es zu dem ganzen Thema eigentlich nicht zu sagen.

Danke dir für deine Rückmeldung. Soweit verstanden. In der Zelle ist ein Apostroph vorangesetzt, damit er das in der Zelle nicht als Datum (oder willkürliche Zahlenkombination) darstellt.

Dort steht also '01/2026 bzw. '01 2026 (beides wird dann 01.01.2026)

Es scheint so, als würde er da Apostroph dann aber für die Bennenung der Datei ignorieren (wohl ähnlich wie beim Slash) und dann ein Datum daraus generieren. Mit # oder _ funktioniert die Darstellung (#01 2026 bzw. 01_2026). Sieht ja fast so aus, als könnte er aus meinem Wert keinen vernünftigen Namen generieren.

Ich werde mal probieren, mit welchem der Zeichen es am besten aussieht.

Danke dir, für deine Hilfe :)

Viele Grüße
Antworten Top
#17
Hi,

ich habe mir erstmals deinen Code genauer angeschaut. Siehe dazu auch den letzten Absatz!

Die Ursache für dein komisches verhalten, ist die unsinnige Verwendung von Format() in der Zeile
Code:
strDatei = Format(Range("C1"))
Hiermit sagst du VBA explizit, dass es den Inhalt von C1 nochmals formatieren soll. Damit versucht Excel den Inhalt nochmals neu zu interpretieren und stellt fest, dass es sich um ein Datum handelt und gibt dann 05/2026 als 01.05.2026 aus. Wenn du Format() weg lässt, dann wird einfach nur der Inhalt der Zelle und somit der Text 05/2026 ausgegeben - wenn denn in der Zelle dieser Text steht.

Wie gesagt wird Windows dieses aber nicht als Dateinamen anerkennen. Wenn du in der Zelle den Text 05/2026 stehen haben willst aber statt dem Schrägstrich z.B. den Underscore stehen haben willst, dann kannst du dein Formet() in dieser Form verwenden:
Code:
strDatei = Format(Range("C1"), "MM_YYYY")
Damit erhältst du die Ausgabe 05_2026
Beachte dabei, dass für den Formatstring die englischen Bezeichnungen und Regeln nötig sind.

Übrigens: eine Hilfedatei statt eines Bildes erleichtert die Hilfe enorm.
Aber wenigstens hättest du deinen Code in kopierbarer Form hier einfügen können. Niemand tippt gern Text aus Bildern ab. Zum Testen ist aber ein ausführbarer Code notwendig.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top


Gehe zu:


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