Office: Makro kürzt Dateinamen bei Import

Helfe beim Thema Makro kürzt Dateinamen bei Import in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hi zusammen, da ich kein VBA Profi (sondern wenn überhaupt Anfänger bin) habe ich mir ein Makrocode zusammengeklaut um 20 .csv Dateien automatisiert... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Offlon608, 14. März 2015.

  1. Offlon608 Erfahrener User

    Makro kürzt Dateinamen bei Import


    Hi zusammen,

    da ich kein VBA Profi (sondern wenn überhaupt Anfänger bin) habe ich mir ein Makrocode zusammengeklaut um 20 .csv Dateien automatisiert in eine Excel zu importieren. Sinn ist, dass die CSV aus einer Datenbank kommen und immer mal wieder aktualisiert werden und ich die mit excel dann auswerte. Code sieht folgendermaßen aus:

    Code:
    Sub ImportiereCSVDateien()
        Const CSVPFAD = "E:\csv-dateien"
        Dim wbTarget As Workbook, wbSource As Workbook, ws As Worksheet
        Set fso = CreateObject("Scripting.Filesystemobject")
        Set wbTarget = ActiveWorkbook
        Application.DisplayAlerts = False
        'Lösche alle Worksheets bevor wir alle neu anlegen
        If wbTarget.Worksheets.Count > 5 Then
            For i = 6 To i = 50
            'Damit der erst beim sechsten Sheet anfängt
                wbTarget.Worksheets(i).Delete
                'Jetzt wurden die alten Sheets löschen
            Next
        End If
        For Each f In fso.GetFolder("N:\01_GF-Intern\01_Strategie\ITE-Strategie\HRM2\Gesamtdaten\11.03.2015").Files
        'Alle Dateien aus dem Ordner sichten
            If LCase(Right(f.Name, 3)) = "csv" Then
            'Alle Dateien mit der Endung "csv" werden beachtet
                Workbooks.OpenText Filename:=f.Path
                Set wbSource = ActiveWorkbook
                On Error Resume Next
                Set ws = wbTarget.Worksheets(f.Name)
                If Err <> 0 Then
                    Set ws = wbTarget.Worksheets.Add
                    ws.Name = f.Name
                    ws.Range("A:ZZ").Clear
                End If
            
                wbSource.Worksheets(1).Range("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Semicolon:=True, TrailingMinusNumbers:=True
                wbSource.Worksheets(1).Range("A:ZZ").Copy Destination:=ws.Range("A1")
                wbSource.Close False
            End If
        Next
        Application.DisplayAlerts = True
        Set fso = Nothing
    End Sub
    Das Problem ist nun, dass zwei der CSV Dateien einen sehr langen Dateinamen haben. Diese Sheetnamen dieser CSVs werden immer abgeschnitten beim Import. Das Problem wenn ich über das Makro dann alle Dateien auswechsle ist, dass er die beiden Dateien dann mit den Namen Tabelle1 und Tabelle2 beim nächsten Import mit Tabelle3 und Tabelle4 betitelt. Dadurch sind die Bezüge dann logischerweise verschoben.

    Gibt es eine Möglichkeit dem Makro zu sagen, dass er den KOMPLETTEN Dateinamen als Sheetnamen verwenden soll?

    Ich hoffe ich habe mich halbwegs klar ausgedrückt. Ansonsten freue ich mich über Rückfragen oder Lösungsansätze :-)

    Viele Grüße und ein schönes Wochenende
     
    Offlon608, 14. März 2015
    #1
  2. maninweb
    maninweb MVP für Microsoft Excel
    Hallo,

    wenn die Dateinamen länger als 31 Zeichen sind, geht das nicht, denn Tabellennamen können nicht mehr als 31 Zeichen enthalten. Wenn die Dateinamen der CSV's so aufgebaut sind, dass z.B. immer die ersten 16 Zeichen einen eindeutigen Namen ergeben, könntest Du immer die ersten 16 Zeichen verwenden: ws.Name = Left(f.Name, 16) Ansonsten wäre zu klären, wieviele CSV's es sind und ob nicht vielleicht Platzhaltertabellen verwendet werden können oder eine Mapping-Tabelle. Dafür kenne ich abder den Aufbau Deiner Mappe nicht.

    Gruß
     
    maninweb, 15. März 2015
    #2
  3. Offlon608 Erfahrener User
    Hallo,

    vielen Dank, genau das habe ich gesucht. Ab dem 30. Zeichen gab es Eindeutigkeiten :-)

    Liebe Grüße
     
    Offlon608, 16. März 2015
    #3
Thema:

Makro kürzt Dateinamen bei Import

Die Seite wird geladen...
  1. Makro kürzt Dateinamen bei Import - Similar Threads - Makro kürzt Dateinamen

  2. Name der Datei durch Excel geändert

    in Microsoft Excel Hilfe
    Name der Datei durch Excel geändert: Hallo und guten Abend, Die Datei wird mittels Button (VBA) zwischen gesichert. Das Makro sichert zuvor die Datei und erstellt zus. eine Sicherungsdatei mit der Erweiterung Beispiel-"Sich"....
  3. Ein Makro für mehrere Register

    in Microsoft Excel Hilfe
    Ein Makro für mehrere Register: Moin, ich habe ein Makro wo Daten aus dem Register Master kopiert werden und Register, das mit einem Datum beschriftet ist. Ich möchte in Jedem Register ein Button haben was Daten aus dem Master...
  4. Makro öffnet unerwartete Datei

    in Microsoft Excel Hilfe
    Makro öffnet unerwartete Datei: Hallo Forum, ich brächte euer Schwarmwissen. Arbeite mit Excel eine Auftragsbearbeitung. Dort habe ich mir einen Button mit Makro erstellt und nutze diesen schon lange. Das Makro generiert ein...
  5. Leerzeilen entfernen

    in Microsoft Word Hilfe
    Leerzeilen entfernen: Hallo in die Runde, ich habe das Problem bzw. den Wunsch in einem DOC die Leerzeilen zu entfernen und das per Makro. Allerdings gelingt es nicht Hintergrund das DOC wird aus einer Dot-Datei...
  6. Makro Schaltflaechen vervielfaeltigen sich....

    in Microsoft Excel Hilfe
    Makro Schaltflaechen vervielfaeltigen sich....: Hallo Zusammen, ich habe eine Exceldatei, die seit ein paar Wochen sehr langsam zu öffnen und zu bearbeiten ist. Zuvor war sie ca. 8MB gross, was sich verdoppelt hat. Ich habe alle Zellen die...
  7. Seit Win 11 Zugriffsprobleme bei Excel über Makros

    in Microsoft Excel Hilfe
    Seit Win 11 Zugriffsprobleme bei Excel über Makros: Guten Tag! Ich habe vor einer Woche mein Windows 10 auf Windows 11 geupgraded, und seitdem habe ich extreme Schwierigkeiten mit meinem Excel. Mit Windows 10 funktionierte alles so, wie es sollte,...
  8. VBA-Makro zur Zellenformatierung Syntax probleme

    in Microsoft Excel Hilfe
    VBA-Makro zur Zellenformatierung Syntax probleme: Hallo zusammen, ich möchte per Makro Zellen formatieren. Tausender-Trennzeichen 3 Nachkommastellen Positive Zahlen Schwarz Negative Zahlen Rot Nullwert mit - Hinter der Zahl soll noch eine...
Schlagworte:
  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.
    Information ausblenden