Excel - Variabler Dateinamen

Diskutiere und helfe bei Excel - Variabler Dateinamen im Bereich Microsoft Office im Windows Info bei einer Lösung; Hallo Ich habe eine Excel Tabelle in welche ich täglich Daten einlese. Wenn ich mit meiner Bearbeitung fertig bin und die Tabelle schließe - benenne... Dieses Thema im Forum "Microsoft Office" wurde erstellt von Puma5000, 22. Januar 2017.

  1. Puma5000
    Puma5000 Gast

    Excel - Variabler Dateinamen


    Hallo


    Ich habe eine Excel Tabelle in welche ich täglich Daten einlese. Wenn ich mit meiner Bearbeitung fertig bin und die Tabelle schließe - benenne ich diese dann manuell um.


    zB TabellenName meiner aktuellen Tabelle 170122_TestTest.xls --> für meine Makro Bearbeitung benenne ich in TestTest.xls um --> wenn dann Bearbeitung erfolgt ist benenne ich manuell die aktuelle Version meiner Tabelle in 170123_TestTest.xls um.


    Gibt es eine Möglichkeit im Makro den eigentlichen Tabellennamen(170122_TestTest.xls) zu benutzen und nach der Bearbeitung die Tabelle mit einem aktuellen Namen (170123_TestTest.xls) zu speichern. Am nächsten Tag sollte dann der Neue Name der alte sein na und so weiter!!!


    Bin gespannt ob einen Antwort kommt.


    hier Auszug aus meinem Makro


    .

    .

    Range("A2:p250").Select 'Auswahl der benötigten Tabellenspalten der SNAP TabelleTest.xlsx


    Selection.Copy


    Windows("TestTest.xls").Activate


    Range("A250").Select 'ab a250 werden neue daten aufgelesen
    ActiveSheet.Paste


    Range("A2").Select 'Sprung zum Tabellenanfang
     
  2. Andreas Killer Win User

    Excel - Variabler Dateinamen

    Toll wäre aber ( weil diese Tabelle mit den Datumsangaben im Namen geht dann an weitere Kollegen - und die können nur am Datumszusatz sehen welche AKTUELL ist) wenn die Backupspeicherung auch den aktuellen Stand der Arbeit ausweisen würde.
    Na dann gibt Ihnen doch einfach die letzte Datei die einen Datum/Uhrzeit-Namen hat!

    Der Code macht doch ganz simpel eine Kopie der Datei... ist doch genau das was Du willst.

    Der einzigste Unterschied zu Deiner bisherigen Vorgehensweise ist nur das die Datei mit der Du arbeitest eben keinen Datum/Uhrzeit-Namen hat! Alle anderen sind fixe Sicherheits-Kopien, daher versieht mein Code die Datei auch gleich mit einem Schreibschutz.

    Andreas.
  3. Andreas Killer Win User

    Excel - Variabler Dateinamen

    Aber Sorry genau das macht Dein Skript bei mir nicht.

    Der Code erzeugt einen Backup meiner Datei+Datum - aber ohne die gemachten Änderungen zu übernehmen.

    Ich rufe meine Fahrzeuge.xls auf - verändere darin in einer Zelle einen Wert und speichere und schließe die Tabelle.

    Es wird eine Backup Kopie abgelegt mit Namen 170129_Fahrzeuge 2017.01.29 12-39-53.xls.

    Wenn ich diese Datei öffne sind meine gemachte Änderung nicht in der Tabelle zu sehen.
    Stimmt, das ist korrekt, ich mache ja die Kopie vor dem Speichern, nicht danach.

    Geht aber auch, nur mit Office2007 ist es ein bißchen tricky, das hat noch kein AfterSave.

    Ersetze den bisherigen Code durch den Code unten.

    Andreas.

    Option Explicit

    Private Sub Workbook_AfterSave(ByVal Success As Boolean)

    Dim fso As Object

    Dim FName As String

    'Don't make a copy if failed

    If Not Success Then Exit Sub

    'Create a backup file name

    Set fso = CreateObject("Scripting.FileSystemObject")

    FName = fso.BuildPath(ThisWorkbook.Path, _

    fso.GetBaseName(ThisWorkbook.Name) & _

    " " & Format(Now, "yyyy.mm.dd hh-mm-ss") & _

    "." & fso.GetExtensionName(ThisWorkbook.Name))

    'Make a copy if not already exists

    If Not fso.FileExists(FName) Then fso.CopyFile ThisWorkbook.FullName, FName

    End Sub

    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

    'Excel 2007 and before did not have a Workbook_AfterSave event

    If Val(Application.Version) < 14 Then

    Application.OnTime Now, "'" & Me.CodeName & ".Workbook_AfterSave 1'"

    End If

    End Sub
  4. Andreas Killer Win User

    Excel - Variabler Dateinamen

    Ich habe eine Excel Tabelle in welche ich täglich Daten einlese. Wenn ich mit meiner Bearbeitung fertig bin und die Tabelle schließe - benenne ich diese dann manuell um.
    Warum nicht eine fortlaufende Sicherheitskopie bei vor dem Speichern erstellen?

    Andreas.

    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

    'Makes a continuous backup of this file

    Dim fso As Object 'Scripting.FileSystemObject

    Dim FName As String

    'Make a backup only if the file would be overwritten

    If SaveAsUI Then Exit Sub

    'Don't create a backup if the file isn't changed!

    If ThisWorkbook.Saved Then

    'Prevent that Excel saves the file!

    Cancel = True

    Exit Sub

    End If

    'Create the backup name

    Set fso = CreateObject("Scripting.FileSystemObject")

    FName = fso.BuildPath(ThisWorkbook.Path, _

    fso.GetBaseName(ThisWorkbook.Name) & _

    " " & Format(Now, "yyyy.mm.dd hh-mm-ss") & _

    "." & fso.GetExtensionName(ThisWorkbook.Name))

    'Don't overwrite an existing backup

    If Not fso.FileExists(FName) Then

    fso.CopyFile ThisWorkbook.FullName, FName

    'Write protect it

    SetAttr FName, fso.GetFile(FName).Attributes Or vbReadOnly

    End If

    End Sub
  5. Puma5000 Win User

    Excel - Variabler Dateinamen

    Danke für die Antwort

    Aber Sorry genau das macht Dein Skript bei mir nicht.

    Der Code erzeugt einen Backup meiner Datei+Datum - aber ohne die gemachten Änderungen zu übernehmen.

    Ich rufe meine Fahrzeuge.xls auf - verändere darin in einer Zelle einen Wert und speichere und schließe die Tabelle.

    Es wird eine Backup Kopie abgelegt mit Namen 170129_Fahrzeuge 2017.01.29 12-39-53.xls.

    Wenn ich diese Datei öffne sind meine gemachte Änderung nicht in der Tabelle zu sehen.

    Wenn ich die Fahrzeuge.xls öffne und wieder speichere wird erneut eine Bachup Datei mit abgelegt - diese beinhaltet dann die gemachten Änderungen.

    Also kann ich nicht gleich die gemachte Backup Datei versenden - da diese NICHT den aktuellen Stand meiner Tabelle beinhaltete.

    Gruß

    Frank

    PS Hie Dein Privat Sub welchen ich anwende:

    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

    'Macht eine kontinuierliche Sicherung dieser Datei

    Dim fso As Object 'Scripting.FileSystemObject

    Dim FName As String

    'Erstellen Sie eine Sicherung nur, wenn die Datei überschrieben werden soll

    If SaveAsUI Then Exit Sub

    'Erstellen Sie keine Sicherung, wenn die Datei nicht geändert wird!

    If ThisWorkbook.Saved Then

    'Verhindern, dass Excel die Datei speichert!

    Cancel = True

    Exit Sub

    End If

    'Erstellen Sie den Backup-Namen

    Set fso = CreateObject("Scripting.FileSystemObject")

    FName = fso.BuildPath(ThisWorkbook.Path, _

    fso.GetBaseName(ThisWorkbook.Name) & _

    " " & Format(Now, "yyyy.mm.dd hh-mm-ss") & _

    "." & fso.GetExtensionName(ThisWorkbook.Name))

    'Überschreiben Sie keine bestehende Sicherung

    If Not fso.FileExists(FName) Then

    fso.CopyFile ThisWorkbook.FullName, FName

    'Schreibe es



    SetAttr FName, fso.GetFile(FName).Attributes Or vbReadOnly

    'SetAttr FName, fso.GetFile(FName).Attributes Or vbNormal

    'SetAttr FName, fso.GetFile(FName).Attributes Or vbArchive

    End If

    End Sub
  6. Puma5000 Win User

    Excel - Variabler Dateinamen

    Hallo Andreas

    Habe Deine Vorschläge in mein Excel Makro eingearbeitet und NEU angepasst.

    Zu dem Privat Sub welchen Du mir zum automatischen erstellen einer Backup Datei erstellt hast - funktioniert toll -

    ABER - ich würde gern meine aktuell geöffnete Datei (mit samt den gemachten Änderungen) beim schließen mit den Datums Zeitangaben speichern - gibt es dafür auch eine Lösung??

    Durch Deine Tips bin ich jetzt soweit das der Dateiname welchen ich verarbeite dem Makro egal ist.

    z.B.

    Ich arbeite in "Fahrzeuge 2017.01.27 17-52-44.xls" --> verändere etwas und wenn ich die Datei speichere sollte der Dateiname "Fahrzeuge 2017.01.27 ??-??-??.xls" sein.

    Kann ich Dich nochmal um Hilfe bitten.

    Danke

    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

    'Macht eine kontinuierliche Sicherung dieser Datei

    Dim fso As Object 'Scripting.FileSystemObject

    Dim FName As String

    'Erstellen Sie eine Sicherung nur, wenn die Datei überschrieben werden soll

    If SaveAsUI Then Exit Sub

    'Erstellen Sie keine Sicherung, wenn die Datei nicht geändert wird!

    If ThisWorkbook.Saved Then

    'Verhindern, dass Excel die Datei speichert!

    Cancel = True

    Exit Sub

    End If

    'Erstellen Sie den Backup-Namen

    Set fso = CreateObject("Scripting.FileSystemObject")

    FName = fso.BuildPath(ThisWorkbook.Path, _

    fso.GetBaseName(ThisWorkbook.Name) & _

    " " & Format(Now, "yyyy.mm.dd hh-mm-ss") & _

    "." & fso.GetExtensionName(ThisWorkbook.Name))

    'Überschreiben Sie keine bestehende Sicherung

    If Not fso.FileExists(FName) Then

    fso.CopyFile ThisWorkbook.FullName, FName

    'Schreibe es



    'SetAttr FName, fso.GetFile(FName).Attributes Or vbReadOnly

    SetAttr FName, fso.GetFile(FName).Attributes Or vbNormal

    'SetAttr FName, fso.GetFile(FName).Attributes Or vbArchive

    End If

    End Sub
  7. User Advert


    Hi,

    willkommen im Windows Forum!
Thema:

Excel - Variabler Dateinamen - Microsoft Office

Die Seite wird geladen...

Excel - Variabler Dateinamen - Similar Threads - Excel Variabler Dateinamen

Forum Datum

Verlinkung zu anderen Excel-Listen mit Variable im Link

Verlinkung zu anderen Excel-Listen mit Variable im Link: Guten Tag,aktuell versuche ich eine Funktion mit Hilfe von SVERWEIS zu bauen, die es ermöglicht, bestimmte Zahlen aus anderen Excel-Listen abzurufen.Eine einfache Verlinkung zu einer dieser...
Microsoft Office 21. April 2023

Excel Wie löse ich Variablen in eine Liste auf

Excel Wie löse ich Variablen in eine Liste auf: Ich muss eine Liste erstellen bei welcher die Verknüpfungsbasis zB: AA-B[u][x]-[yy] ist. U ist eine Variable basierend auf der Liste mit Werten zB A, B, C, E, F, R, S x ist eine Variable basierend...
Microsoft Office 13. April 2023

Excel 2021 - variable, zweidimensionale Datentabelle

Excel 2021 - variable, zweidimensionale Datentabelle: Hallo zusammen,ich habe eine Frage zu Datentabellen mit 2 Variablen und würde um etwas Hilfe dazu ersuchen.Der grundsätzliche Aufbau ist klar, üblicherweise eine Zeile und eine Spalte mit Werten...
Microsoft Office 12. Dezember 2022

In Excel Variablen addieren - möglich?

In Excel Variablen addieren - möglich?: Hallo zusammen,wenn ich das Problem google kommen immer nur ZÄHLENWENN threads.Kann Excel 1x + 3x + 2x² +x² ausrechnen? Und wenn ja wie?Also eine ZelleA1 mit "1x" und eine ZelleB1 mit "3x"...
Microsoft Office 6. Juli 2021

Excel Ampelanzeige auf Basis eines variablen Ergebnisses

Excel Ampelanzeige auf Basis eines variablen Ergebnisses: Zelle A5Zelle A6 Ergebnis Default ED Ergebnis - Default - Soll kann zwischen 1 und 400 liegen Ist jedoch immer 100 % 150 Ergebnis Resultat ER Ergebnis - Resultat - Ist kann je nach...
Microsoft Office 19. Dezember 2019

Excel: Summierung von Werten eines variablen Bereichs

Excel: Summierung von Werten eines variablen Bereichs: Hallo zusammen, leider finde ich zu dem nachfolgenden Problem keine Lösung. Mit den bekannten Formeln SUMMEWENN, SUMMEWENNS, SVERWEIS/SUMME, stoße ich immer wieder an eine Grenze. Ich versuche...
Microsoft Office 24. Mai 2019

Excel Query Dateiname in Zeilen

Excel Query Dateiname in Zeilen: Hallo zusammen. Die Frage in einen Titel zusammenzufassen viel mir schon recht schwer, aber ich hoffe das Problem wird trotzdem deutlich: Ich habe zwei .txt-Dateien die aus einem...
Microsoft Office 17. August 2017
Excel - Variabler Dateinamen solved
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.