Hallo Cornel,
1. Gewöhne dir an Option Explicit oberhalb des Makros zu benutzen, dann mäckert dir Excel an, wenn Variablen nicht Dim(ensioniert) sind. Da wäre dir dann gleich aufgefallen, dass deine Variable "Quelldatei" nicht Dim(ensioniert) ist
2. Variablen sollte man im Makrokopf Dim(ensionieren)
3. Hast du die Variable "Quelldatei" für das Workbook benutzt das du öffnest. Quelldatei ist aber weder Dim(ensioniert) noch wurde der Variablen mit Set ein Workbook zugewiesen. Hier meinst du die Variable SourceFile
4. Sollten die Variablen für die Workbook-Objekte am Ende des Makros auch wieder "entladen" werden
Option Explicit
Private Sub CommandButton1_Click()
'Demo Code um eine Datei zu Öffnnen und einen Wert auszulesen
Dim SourceFile As Workbook
Dim TargetFile As Workbook
Dim OpenString As String
'Sicherheitshalber ausschalten
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.EnableEvents = False
Set TargetFile = ThisWorkbook
OpenString = Application.GetOpenFilename(Title:="Please choose a file to open", FileFilter:="Excel Files *.xlsm*,")
Set SourceFile = Workbooks.Open(OpenString, False, True)
'## hier hast du Quelldatei anstatt SourceFile
TargetFile.Worksheets(1).Cells(1, 1).Value = SourceFile.Worksheets("Tabelle1").Cells(1, 1).Value
SourceFile.Close
Set TargetFile = Nothing
Set SourceFile = Nothing
'Wieder anschalten
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.EnableEvents = True
End Sub
Gruß Werner
|