ich benutze folgenden Code, um ein bestimmtes Tabellenblatt aus einer anderen Excel-Datei zu laden:
Dim Bereich As Range
'Quelle
With Workbooks("Datenimport.xls").Sheets("Rohdaten")
Set Bereich = .Range("A1", .Cells.SpecialCells(xlCellTypeLastCell))
End With
With Application
.ScreenUpdating = False
.DisplayAlerts = False
'Zieldatei
With Workbooks("Report.xls").Sheets("Daten einlesen")
.Cells.Clear
Bereich.Copy
.Range("A1").PasteSpecial
End With
.CutCopyMode = False
.DisplayAlerts = True
.ScreenUpdating = True
End With
der Code funktioniert zwar, ist aber sehr unflexiebel. Wenn sich mal der Dateiname meiner Quelle ändert, muss ich das immer wieder im Code anpassen (Name des Tabellenblatts bleibt immer gleich) und die Quelldatei und Zieldatei müssen beide immmer in der selben ExcelDatei geöffnet sein, sonst funktioniert der Code nicht.
Gibt es vielleicht die Möglichkeit, den Code so zu schreiben, dass ich mir die Quelldatei durch den Öffnen-Dialog selber wählen kann und dass sich der Code das Tabellenblatt "Rohdaten" dann auch lädt, wenn diese nicht geöffnet ist ?
Danke mal
Joachim