Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1744to1748
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA nur aktuellste Datei verwenden

VBA nur aktuellste Datei verwenden
24.03.2020 13:41:46
Timo
Hallo zusammen,
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

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA nur aktuellste Datei verwenden
26.03.2020 09:58:30
Matthias
Moin!
Da du eh mit FSO Objekt arbeitest, wäre es das einfachste, du gehst erst in einer Schleife alle Dateien durch. Bei den Betreffenden prüfst du dann die Eigenschaften (erstellt, zuletzt geändert etc.). Siehe hier:
https://docs.microsoft.com/de-de/office/vba/language/reference/user-interface-help/datelastmodified-property
Die mit dem neusten DAtum speicherst du (also den Namen). Nach der Schleife dann nur diese eine Datei bearbeiten.
Falls du mehrer DAteien hast, die sich nur in der Endung unterscheiden bzw. im Namen dann den NAmen auswerten und die aktuelleste Datei nutzen.
VG
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige