Hallo Zusammen,
zwecks Kontrolle sollen Daten aus vielen aber identischen XLSM-Dateien gelesen und auf Fehler geprüft werden
nach ein wenig Recherche habe ich diesen Code zusammengesetzt um mich zunächst mit dem öffnen und auslesen vertraut zu machen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.EnableEvents = False
Dim SourceFile As Workbook
Dim TargetFile As Workbook
Set TargetFile = ThisWorkbook
Dim OpenString As String
OpenString = Application.GetOpenFilename(Title:= "Please choose a file to open" , FileFilter:= "Excel Files *.xlsm*," )
Set SourceFile = Workbooks.Open(OpenString, False , True )
TargetFile.Worksheets(1).Cells(1, 1).Value = Quelldatei.Worksheets( "Mantelbogen" ).Cells(1, 1).Value
SourceFile.Close
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.EnableEvents = True
End Sub
Problem:
Wenn ich den Code mit einer XLSX-Datei teste funktioniert mein Test. Bei einer XLSM_DAtei nicht. Excel hängt sich dann auf und beschwert sich das ich angeblich zu wenig Arbeitsspeicher habe
Viele Grüße
Cornel
|
Private Sub CommandButton1_Click()
'Demo Code um eine Datei zu Öffnnen und einen Wert auszulesen
'Sicherheitshalber ausschalten
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.EnableEvents = False
Dim SourceFile As Workbook
Dim TargetFile As Workbook
Set TargetFile = ThisWorkbook
Dim OpenString As String
OpenString = Application.GetOpenFilename(Title:="Please choose a file to open", FileFilter:="Excel Files *.xlsm*,")
Set SourceFile = Workbooks.Open(OpenString, False, True)
TargetFile.Worksheets(1).Cells(1, 1).Value = Quelldatei.Worksheets("Mantelbogen").Cells(1, 1).Value
SourceFile.Close
'Wieder anschalten
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.EnableEvents = True
End Sub
|