Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Daten aus neuester Datei wenn geschlossen auslesen

Daten aus neuester Datei wenn geschlossen auslesen
04.12.2017 11:41:11
max
hi, habe folgendes Problem:
ich muss aus einem Ordner die neueste Datei auslesen (für jeden Monat wird automatisch eine neue erstellt mir jeweiligen Namen (....10-....;....11-....;...)
Ich habe mir schon aus ein paar Programmschnitzeln etwas zusammengebastelt, was aber nicht ganz optimal ist:
Sub DateienAuflisten()
Dim lngZeile As Long
Dim objFileSystem As Object
Dim objVerzeichnis As Object
Dim objDateienliste As Object
Dim objDatei As Object
Set objFileSystem = CreateObject("scripting.FileSystemObject")
Set objVerzeichnis = objFileSystem.GetFolder("C:\Users\ElAu\Desktop\Maxi\Excel\E1 Täglich\")
Set objDateienliste = objVerzeichnis.Files
lngZeile = 10
For Each objDatei In objDateienliste
If Not objDatei Is Nothing Then
ActiveSheet.Cells(lngZeile, 1) = objDatei.Name
lngZeile = lngZeile + 1
End If
Next objDatei
End Sub
Public Function GetDataClosedWB(SourcePath As String, _
SourceFile As String, _
sourceSheet As String, _
SourceRange As String, _
TargetRange As Range) As Boolean
Dim strQuelle                 As String
Dim Zeilen                    As Long
Dim Spalten                   As Byte
On Error GoTo InvalidInput
strQuelle = "'" & SourcePath & "[" & Replace(SourceFile, "'", "''") & "]" & _
sourceSheet & "'!" & _
Range(SourceRange).Cells(1, 1).Address(0, 0)
Zeilen = Range(SourceRange).Rows.Count
Spalten = Range(SourceRange).Columns.Count
With TargetRange.Cells(1, 1).Resize(Zeilen, Spalten)
.Formula = "=IF(" & strQuelle & "="""",""""," & strQuelle & ")"
.Value = .Value
End With
GetDataClosedWB = True
Exit Function
InvalidInput:
MsgBox "Die Quelldatei oder der Quellbereich ist ungültig!", _
vbExclamation, "Get data from closed Workbook"
GetDataClosedWB = False
End Function


Public Sub HoleDaten3()
Dim Pfad            As String
Dim Dateiname       As String
Dim Blatt           As String
Dim Zellen As String
Dim Neueste_Datei As Variant
Neueste_Datei = Workbooks("Dragramm Goldi.xlsm").Worksheets("Tabelle1").Range("A16").Value
Pfad = "C:\Users\ElAu\Desktop\Maxi\Excel\E1 Täglich\"
Dateiname = Neueste_Datei
Blatt = "2017-10 E1 Täglich"
Zellen = "C2:BN3000"
If GetDataClosedWB(Pfad, _
Dateiname, _
Blatt, _
Zellen, _
Worksheets("Tabelle1").Range("C2:BN3000")) Then
MsgBox "Daten importiert"
End If
End Sub
Es kopiert mir zwar die Dateien aus, aus der neuesten, aber nur wenn diese offen ist, was für mich aber keine Lösung ist, da die Datei unbedingt geschlossen bleiben muss! Und dass mir ständig die Dateinamen in die Zellen geschrieben werden ist auch noch nicht perfekt, mir würde es reichen wenn es mir NUR die neueste Datei auslesen würde und mir den angegebenen Bereich in meine "Tabelle1" kopiert, damit ich damit weiter arbeiten kann.
Vielen dank im voraus!
MfG Max

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus neuester Datei wenn geschlossen auslesen
06.12.2017 13:19:18
guenni
Hallo Max,
Damit das mit den externen Bezügen auf geschlossene Datei klappt, musst Du auf die Wenn-Abfrage verzichten, und eine 0 als Ergebnis bei leerer Zelle in Kauf nehmen.
Da kannst Du nachträglich die Zellen prüfen und bei 0 löschen, oder wie ich eine bedingte Formatierung verwenden, die beim Wert 0 die Schriftfarbe auf weiß setzt.
Hilft Dir das?
Anzeige

361 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige