vielleicht kann mir hier jemand weiterhelfen - habe schon den halben Tag rumprobiert und gesucht und keine Lösung gefunden. Komme irgendwie nicht weiter.
Mein Problem:
Ich habe ein Verzeichnis in dem liegen ca. 100 Dateien welche jede für sich per OLAP aus dem Cube ein paar Kennzahlen saugt.
Nun möchte ich diese Dateien per VBA öffnen, aktualisieren und dann die daraus aktualisierte Berechnung auslesen, speichern, in eine neue Datei schreiben und schließen.
Quasi 100 Dateien = 100 Zeilen in der neuen Datei. Soweit so gut, es funktioniert alles - nur die Aktualisierung nicht, der speicher- bzw. Auslesevorgang erfolgt während der Aktualisierung. Auch eine Pause mittels Application.Wait brachte keine Hilfe. Möglicherweise habt ihr eine brauchbare Idee. Bin kein VBA-Profi daher bitte ich Fehler zu entschuldigen.
Hier das Macro:
Option Explicit
Sub test()
Dim strDatnam As String
Dim wb As Workbook
Dim strPfad As String
Dim rngEinfüg As Range
strPfad = "P:\Dateien\"
strDatnam = Dir(strPfad & "*.xlsx")
'Application.ScreenUpdating = False
Do While strDatnam ""
Set wb = Workbooks.Open(strPfad & strDatnam)
wb.RefreshAll
Application.Wait Now + TimeSerial(0, 0, 10)
With ThisWorkbook.Sheets(1)
Set rngEinfüg = IIf(IsEmpty(.Cells(1, 1)), .Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp). _
_
Offset(1))
rngEinfüg = wb.Sheets(1).[B5]
rngEinfüg.Offset(, 1).Resize(, 12) = WorksheetFunction.Transpose(wb.Sheets(1).[B43:M43])
End With
wb.Close savechanges:=False
strDatnam = Dir
Loop
Set rngEinfüg = Nothing
Set wb = Nothing
'Application.ScreenUpdating = True
End Sub