Nimm die Datei und den Ordner mit aktuellsten Date

Bild

Betrifft: Nimm die Datei und den Ordner mit aktuellsten Date
von: Paul
Geschrieben am: 26.11.2015 10:06:05

Hallo,
ich habe folgende drei Anliegen:
1. Ich möchte das, wenn ich ein Makro starte, das Makro sich aus einem bestimmten Verzeichnis (\\root Verzeichnis) den aktuellsten Ordner aussucht udn anschließend eine txt file die immer den Text (X=Variabel) YYYYMMDDXXXX_ggg_gator.txt hat.
2 Wie 1. (im gleichen Ordner wie die txt) nur das ich aus einer dort liegenden csv (Filename:YYYYMMDDXXXX__gator File nur die Spalten A und B extrahieren und in ein Worksheet kopieren möchte
3. Ich versuche gerade die Excel File anch automatischer Bearbeitung als txt File wieder zu exportieren. Die Zellen haben dabei schon das Zelllimit an Zeichen erreicht und ich muss den Text der txt File in unterschiedliche Zellen aufteilen. Wenn ich das Worksheet dann als txt abspeichere baut Excel mir zusätzliche Zeichen ein z.B.
" am Anfang und Ende
" " zwischen jeder Zelle
Kann man das abstellen bzw. irgendwie umgehen.
Sinn der ganzen Geschichte ist es die Txt Datei zu splitten, in Excel ein paar Umrechnungen anzustellen und dann wieder zusammenzusetzen. Habt Ihr eine Lösung?
Viele Grüße
Paul

Bild

Betrifft: AW: Nimm die Datei und den Ordner mit aktuellsten Date
von: Michael
Geschrieben am: 27.11.2015 15:33:54
Hi Paul,
ad 1: wie heißen die Ordner? Ist in dem Namen auch das (oder ein) Datum enthalten?
ad 3: hier nur für Spalten A und B:

Option Explicit
Sub TextSchreiben()
  Dim Datei As Integer
  Dim zeile As Long, von As Long, bis As Long
  Dim Pfad As String, ausgabe As String
  von = 1
  bis = Range("a" & Rows.Count).End(xlUp).Row
  
  Pfad = ThisWorkbook.Path & "\TextSchreiben.txt"
  Datei = FreeFile
  
  Open Pfad For Output As #Datei
  
  For zeile = von To bis
     ausgabe = Range("A" & zeile) & " " & Range("B" & zeile)
     Print #Datei, ausgabe
  Next zeile
  
  Close #Datei
End Sub
' *********** oder **********
Sub TextSchreibenOpti1()
  Dim Datei As Integer
  Dim zeile As Long, von As Long, bis As Long
  Dim Pfad As String, ausgabe As String
  Dim a As Variant
  
  von = 1
  bis = Range("a" & Rows.Count).End(xlUp).Row
  
  a = Range("a" & von & ":b" & bis)
  Pfad = ThisWorkbook.Path & "\TextSchreiben.txt"
  Datei = FreeFile
  
  Open Pfad For Output As #Datei
  
  For zeile = von To bis
     ausgabe = a(zeile, 1) & " " & a(zeile, 2)
     Print #Datei, ausgabe
  Next zeile
  
  Close #Datei
End Sub
' *********** oder **********
Sub TextSchreibenOpti2()
  Dim Datei As Integer
  Dim zeile As Long, von As Long, bis As Long
  Dim Pfad As String, ausgabe As String
  Dim a As Variant
  
  von = 1
  bis = Range("a" & Rows.Count).End(xlUp).Row
  
  a = Range("a" & von & ":b" & bis)
  Pfad = ThisWorkbook.Path & "\TextSchreiben.txt"
  Datei = FreeFile
  
  Open Pfad For Output As #Datei
  
  For zeile = von To bis
     ausgabe = ausgabe & a(zeile, 1) & " " & a(zeile, 2) & vbCrLf
  Next zeile
  Print #Datei, ausgabe
  Close #Datei
End Sub
Die erste Variante ist vielleicht am einfachsten verständlich; die beiden weiteren sind optimiert für größere Datenmengen.
Schöne Grüße,
Michael

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Nimm die Datei und den Ordner mit aktuellsten Date"