Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Daten aus aktuellster geschl. Datei kopieren


Betrifft: Daten aus aktuellster geschl. Datei kopieren von: max hof
Geschrieben am: 28.11.2017 11:24:23

Hi,
Ich bin seit Tagen auf der Suche/probiere auch selbst so gut wie möglich (was nicht viel ist) ein Makro für mein Problem zu schreiben:
Ich muss aus der immer Aktuellsten Datei (wird monatlich neu erstellt und alle 15 min aktualisiert, und Dateinamen variieren) die Daten des Tabellenblatts (Name Variiert von Datei zu Datei) in meine Aktuelle Excel Tabelle (in ein Tabellenblatt("Aktuellwert") kopieren, damit ich Sie von dort aus weiter auswerten kann.

Hat jmd für mich ne Lösung/Hilfe bitte??

  

Betrifft: AW: Problem klar - Lösungsansatz? von: Phi
Geschrieben am: 28.11.2017 11:33:31

@Max:

wenn Dateiname und Sheet-Name wechseln, muss es zumindest Ansatzpunkte geben, wie VBA darauf zugreifen könnte:

- neueste Datei in einem bekannten Ordner: kein Problem
- die Angaben zum Blattnamen reichen nicht


Reichen Deine VBA-Kenntnisse für solche Codes? (neueste Datei, von snb)

myFile = ASCIItoANSI(CreateObject("wscript.shell"). _
       exec("cmd /c dir ""c:\temp\*.xls*"" /s/b/od") _
      .stdout.readall)(0)



  

Betrifft: AW: Problem klar - Lösungsansatz? von: max hof
Geschrieben am: 28.11.2017 11:39:08

hi,
sorry, klar.. Ansatzpunkte,

Sub Dateiliste_Neu()
    '   Aktuellste Datei feststellen
    Dim strVerzeichnis As String
    Dim StrDatei As String
    Dim I As Integer
    Dim StrTyp As String
    Dim Dateiname As String
    Dim Dateiname_neu As String
    Dim Zeit As Date
    strVerzeichnis = "C:\Users\ElAu\Desktop\Maxi\Excel\E1 Täglich\"
    StrTyp = "*.csv"
    Dateiname = Dir(strVerzeichnis & StrTyp)
    Dateiname_neu = Dateiname
    Zeit = FileDateTime(strVerzeichnis & Dateiname)
    Do While Dateiname <> ""
        If Zeit < FileDateTime(strVerzeichnis & Dateiname) Then
            Zeit = FileDateTime(strVerzeichnis & Dateiname)
            Dateiname_neu = Dateiname
        End If
        Dateiname = Dir
    Loop
    MsgBox " Die jüngste Datei ist " & Dateiname_neu
End Sub

das Hab ich mir schonmal zusammenkonfiguriert, aber es gibt mir nur den Namen der aktuellsten Datei aus.. kann man damit mehr anfangen ?


  

Betrifft: AW: die Datei öffen ... von: Phi
Geschrieben am: 28.11.2017 11:43:21

@Max:

wenn der Dateiname bekannt ist, kann die Datei geöffnet werden. Dann bleibt das Problem das Sheet zu finden ...


  

Betrifft: AW: die Datei öffen ... von: max hof
Geschrieben am: 28.11.2017 11:45:51

Ja, aber ich weis/finde einfach nichts, dass ich mir das so hinbekomme, ich verzweifle hier schon den dritten Tag daran..


  

Betrifft: AW: die Datei öffen ... von: Phi
Geschrieben am: 28.11.2017 11:52:15

@Max:

Öffnen einer xls-Datei

dim WB as Workbook
myPath = <<<< anpassen, letztes Zeichen "\" >>>
myFile = <<< aus deiner Abfrage >>>

set WB = workbooks.open(myPath & myFile)

<<< weiterer Code >>>




  

Betrifft: AW: die Datei öffen ... von: max hof
Geschrieben am: 28.11.2017 11:57:50

Danke für den Tip!
Aber nun öffnet sich nur die Datei, was ich am liebsten vermeiden würde, da diese automatisch beschrieben wird, und dabei nicht offen sein darf..
Deswegen bräuchte ich den Code dafür das Worksheet aus der geschlossenen Tabelle zu kopieren..


  

Betrifft: AW: die Datei öffen ... von: Phi
Geschrieben am: 28.11.2017 12:28:35

@Max:

es gibt VBS Codes, die recht variabel aus geschlossenen Dateien auslesen und dabei die Vorgängerversion von VBA nutzen. Ein sehr guter Code wurde vor wenigen Tagen gepostet, aber ich werden ihn nicht re-posteten.

Möglichkeiten:

- Datei schreibgeschützt öffnen (read-only)
- Datei kopiere (VBA FileCopy)


Beiträge aus den Excel-Beispielen zum Thema "Daten aus aktuellster geschl. Datei kopieren"