Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1028to1032
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

Makroanpassung

Makroanpassung
08.12.2008 13:15:46
Ernst
Hallo vba Experten !
User Rudi Hat mir diesen Code geschrieben der tadellos funktioniert !

Sub DatenHolen()
Dim wksQuelle As Worksheet, wksZiel As Worksheet
Const strFolder As String = "c:\MeinPfad"
Set wksZiel = ThisWorkbook.Sheets("Tabelle2")
Set wksQuelle = Workbooks.Open(NeuesteDatei(strFolder, ThisWorkbook.Name)).Sheets(1)
With wksQuelle
.Range("B5:B15").Copy
wksZiel.Range("O87").PasteSpecial xlPasteValues
.Range("D5:D15").Copy
wksZiel.Range("P87").PasteSpecial xlPasteValues
End With
Application.CutCopyMode = False
wksQuelle.Parent.Close False
End Sub



Function NeuesteDatei(strPfad As String, Optional strIgnoredWkb As String) As String
Dim dteMax As Date, strDatei As String
Const strType As String = "*.xls"
If Right(strPfad, 1)  "\" Then strPfad = strPfad & "\"
strDatei = Dir(strPfad & strType, vbNormal)
Do While strDatei  ""
If strDatei  strIgnoredWkb Then
If FileDateTime(strPfad & strDatei) > dteMax Then
dteMax = FileDateTime(strPfad & strDatei)
NeuesteDatei = strPfad & strDatei
End If
End If
strDatei = Dir
Loop
End Function


1)was mich ein wenig stört ist das die zuletzt gespeicherte Datei abgefragt wird (ist auch meistens der Fall)ich würde aber das aktuellste Datum benötigen.
Lässt sich dahingehend was machen ?
2)weiters wäre es hilfreich für mich wenn man eine Msg box einbauen könnte "möchten sie die Daten Aktualisieren !
Wäre für Lösungsvorschläge dankbar.
Lg.Ernst

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makroanpassung
08.12.2008 13:50:00
Rudi
Hallo,
meinst du die zuletzt erstellte Datei?

Sub DatenHolen()
Dim wksQuelle As Worksheet, wksZiel As Worksheet
Const strFolder As String = "c:\MeinPfad"
If MsgBox("Daten Aktualisieren?", vbYesNo, "Frage") = vbYes Then
Set wksZiel = ThisWorkbook.Sheets("Tabelle2")
Set wksQuelle = Workbooks.Open(NeuesteDatei(strFolder, ThisWorkbook.Name)).Sheets(1)
With wksQuelle
.Range("B5:B15").Copy
wksZiel.Range("O87").PasteSpecial xlPasteValues
.Range("D5:D15").Copy
wksZiel.Range("P87").PasteSpecial xlPasteValues
End With
Application.CutCopyMode = False
wksQuelle.Parent.Close False
End If
End Sub



Function NeuesteDatei(strPfad As String)
Dim oFS As Object, oFolder As Object, oFile As Object
Dim dteMax As Date
Const strType As String = "*.xls"
Set oFS = CreateObject("scripting.filesystemobject")
Set oFolder = oFS.getfolder(strPfad)
For Each oFile In oFolder.Files
If oFile Like strType And oFile.datecreated > dteMax Then
dteMax = oFile.datecreated
NeuesteDatei = oFile
End If
Next
Set oFolder = Nothing
Set oFS = Nothing
End Function


Gruß
Rudi

Anzeige
AW: Makroanpassung
08.12.2008 13:54:37
Ernst
Hallo Rudi !
In einem Ordner werden alle Tage eines Monats abgespeichert jeden Tag eine neue wenn ich nun eine Aufrufe zb.05.12.2008 dann nimmt er immer die Daten der zuletzt aufgerufenen.
Ich möchte aber das er das aktuellste Datum nimmt 08.12.2008.
Lg.ERnst
AW: Makroanpassung
08.12.2008 14:01:57
Rudi
Hallo,
der neue Code nimmt immer die zuletzt erstellte Datei, nicht die zuletzt geänderte.
Gruß
Rudi
Danke !
08.12.2008 14:07:21
Ernst
Hallo Rudi !
Alles klar.Recht herzlichenDank.
Lg.Ernst

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige