VBA nur aktuellste Datei verwenden
24.03.2020 13:41:46
Timo
Nach vielem Lesen und Ausprobieren brauche ich denoch Hilfe:
Das folgende Makro läuft perferkt, jedoch kann es vorkommen (selten) das mehrere Daten Dateien abgelegt sind.
Ich benötige einen einfachen "Zusatz" das immer nur die neuste Datei verwendet wird.
Vielen Dank vorweg!
Hier mein Makro:
Sub Bestandsdateien_Zonencode_einladen()
Application.ScreenUpdating = False
Dim dat1 As Variant, dat2 As Variant, a As Variant '
Const sSourcePath As String = "X:\bestandsdateien\" 'Verzeichnissangabe der _
Bestandsdateien
Dim fld, File
Dim fso As Object
Dim objFld As Object
Dim objSubFld As Object
Dim objFiles As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set objFld = fso.GetFolder(sSourcePath)
Set objSubFld = objFld.SubFolders
a = 0
dat1 = ActiveWorkbook.Name
Sheets("BSTD").Select
Cells.ClearContents
For Each fld In objSubFld
Set objFiles = fld.Files
For Each File In objFiles
If File.Type = "Microsoft Excel-CSV-Datei" Then _
_
_
'Nur CSV Dateien im Format MSECSVS öffnen
_
_
_
Application.Workbooks.Open (File.Path), Local:=True
dat2 = ActiveWorkbook.Name
Application.CutCopyMode = False
Range("D:E").Select _
_
_
'Spalte Zonencode und Lagerplatz auswählen und kopieren
Selection.Copy
Windows(dat1).Activate
Sheets("BSTD").Select
_
_
_
'Range("A1").Select
Range(Cells(1, 1 + a), Cells(1, 1 + a)).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
a = a + 2
Windows(dat2).Activate
Application.CutCopyMode = False
ActiveWindow.Close (False) _
_
_
End If
Next
Next
Sheets("Auswertung").Select
'Windows(dat2).Activate
'Application.CutCopyMode = False
'ActiveWindow.Close (False)
Application.ScreenUpdating = True
End Sub