Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Namenszuweisung beim speichern?





Frage

Hallo liebe Excelgemeinde, ich habe folgenden VBA Code um die Datei mit bestimmten Namen in einem bestimmten Pfad abzulegen. (auch hier erhalten) Sub Datei_speichern() On Error GoTo ERRORHANDLER Dim Nachname_Vorname, Datum Pfad = ActiveWorkbook.Path SubPfad = Right(Pfad, 8) If SubPfad = "_vorlage" Then Length = Len(Pfad) Pfad = Left(Pfad, Length - 9) End If Nachname_Vorname = Split(Range("J3"), ", ") Datum = Split(Range("J5"), ".") ActiveWorkbook.SaveAs Pfad & "\" & Nachname_Vorname(0) _ & "_" & Nachname_Vorname(1) & "_" & Datum(2) & "-" _ & Datum(1) & "-" & Datum(0) & ".xls" ERRORHANDLER: End Sub Nun würde ich hier gerne noch den Dateinamen um den Inhalt einer Zelle erweitern. Ich hoffe mir kann hier wieder geholfen werden. Gruß, mac_d

Antwort 1 von Beverly

Hi,

z.B. in dieser Form

ActiveWorkbook.SaveAs Pfad & "\" & Nachname_Vorname(0) _
& "_" & Nachname_Vorname(1) & "_" & Datum(2) & "-" _
& Datum(1) & "-" & Datum(0) & Worksheets("Tabelle1").Range("A1") & ".xls"
Application.EnableEvents = True


Bis später,
Karin

Antwort 2 von Beverly

Hi,

sorry, die letzte Zeile Application.EnableEvents = True muss weg (Beitrag lässt sich leider nicht mehr editieren), die habe ich versehentlich mitkopiert.

Bis später,
Karin

Antwort 3 von mac_d

Super, funktioniert einwandfrei!!

Vielen Dank!

Gruß, mac_d

Antwort 4 von mac_d

Hallo,

jetzt habe ich "natürlich" noch ein Folgeproblem:

Dadurch entstehen zwei Dateien.
Nachname_Vorname_28.06.2007_in Arbeit
und
Nachname_Vorname_28.06.2007_Fertig

Gibt es eine Möglichkeit wenn im betreffenden Feld "Fertig" steht die alte Datei "in Arbeit" dann direkt zu löschen?

Liegen im selben Verzeichnis!

Bin sehr dankbar für Eure Vorschläge!

Gruß, mac_d

Antwort 5 von Beverly

Hi,

als allgemeiner Code

Kill "C:\Excel_Test\Mappe8.xls"


Beachte aber, dass die Datei geschlossen sein muss und dass sie nicht in den Papierkorb wandert.

Bis später,
Karin

Antwort 6 von mac_d

Vielen Dank für die Antwort, nur wird der Name ja ständig geändert (Datumseintrag im Namen). Also weis ich nicht vorher wann sie "Fertig" ist.

Die Datei, die gelöscht werden muss, muss die sein die als "fertig" gespeichert wurde und vorher anstatt "fertig" den Zusatz "in Arbeit" hatte.

Ich hoffe ich habe mich verständlich ausgedrückt. (Ist manchmal garnicht einfach ein Problem zu erklären ;-))

Gruß, mac_d

Antwort 7 von Beverly

Hi,

du setzt doch den Namen der als "Fertig" zu speichernden Arbeitsmappe aus Werten in deiner Tabelle zusammen - also kannst du aus den selben Zellen auch auslesen, wie die zwischengespeicherte Arbeitsmappe heißt. Oder habe ich da was falsch verstanden?

Bis später,
Karin

Antwort 8 von mac_d

Hallo,

aber wie baue ich das in diesen Killbefehl anständig ein?

Und kann ich das einfach so an den anderen Code dranhängen?

Vielen Dank für deine Geduld und Hilfe!

Gruß, mac_d

Antwort 9 von Beverly

Hi,

das sollte eigentlich so funktionieren

Kill Pfad & "\" & Nachname_Vorname(0) _
& "_" & Nachname_Vorname(1) & "_" & Datum(2) & "-" _
& Datum(1) & "-" & Datum(0) & Worksheets("Tabelle1").Range("A1") & ".xls"


Oder du deklarierst eine String-Variable, falls der obige Code nicht funktioniert (kann es nicht testen, da ich deinen Tabellenaufbau nicht kenne)

Deine_Variable = Pfad & "\" & Nachname_Vorname(0) _
& "_" & Nachname_Vorname(1) & "_" & Datum(2) & "-" _
& Datum(1) & "-" & Datum(0) & Worksheets("Tabelle1").Range("A1") & ".xls"
Kill Deine_Variable


Du kannst den Code nach dem Befehl zum Speichern der endgültigen Fassung deiner Mappe einfügen.

Bis später,
Karin

Antwort 10 von mac_d

Hallo,

Vielen Dank für Deine Mühen,

hat bestens funktioniert!

Gruß, mac_d

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: