17.01.2018, 12:34
Hallo Excel Freunde,
ich weiß nicht mehr weiter. Ich habe ein Makros geschrieben, welches die Excel Dateien aus einen "zu angegebenen" Ordner öffnet, den Inhalt (ein Tabellenblatt) kopiert und diesen in eine neue Excel Datei speichert. Also ich habe mehrere Excel Dateien mit jeweils 1 Sheet und möchte diese zu einer Excel Datei machen mit mehreren Sheets. Hier der Code:
Er speichert die Sheets in die Neue Exceldatei und erstellt dort ein Sheet beginnend mit 1 bis N (n= anzahl der Dateien im Folder).
Bei vielen Ordnern klappt dies ohne Probleme. Doch bei manchen Ordnern ( mit wenig aber auch mit vielen Dateien) kommt die Fehlermeldung "Microsoft Excel funktioniert nicht mehr" mit der Auswahl "Programm neu Starten".
Beispiel: Ich wähle ein Ordner mit 10 Dateien aus dies Funktioniert ohne Probleme. Wähle ich ein anderen Ordner mit 10 Dateien aus, kommt die Fehlermeldung. Nehme ich aus dem Ordner 7 Dateien raus und probiere das Makros bei 3 Dateien. Brauch ich manchmal 3-4 Anläufe bis es funktioniert. Also das komische ist, dass er nicht immer "abschmiert" aber zu 90%.
Woran kann das liegen? Schreibschutz sollte bei den Dateien etc. nicht vorhanden sein. Ich hoffe ihr könnt mir helfen und meine Verzweiflung brechen.
Mit freundlichen Gruß
Excel_Jürgen
ich weiß nicht mehr weiter. Ich habe ein Makros geschrieben, welches die Excel Dateien aus einen "zu angegebenen" Ordner öffnet, den Inhalt (ein Tabellenblatt) kopiert und diesen in eine neue Excel Datei speichert. Also ich habe mehrere Excel Dateien mit jeweils 1 Sheet und möchte diese zu einer Excel Datei machen mit mehreren Sheets. Hier der Code:
Code:
Sub zustelLETZE()
Dim strDatnam As String
Dim wb As Workbook
Dim ws As Worksheet
Dim AnzahlTabellen As Integer
AnzahlTabellen = 1
Dim spfad As String
Dim sDatei As String
Dim dat As String
' Open the select folder prompt
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = -1 Then ' if OK is pressed
dat = .SelectedItems(1)
End If
End With
spfad = (dat & "\")
strDatnam = Dir(CStr(spfad & "*.xls"))
Do While Len(strDatnam)
Set wb = Workbooks.Open(spfad & strDatnam)
Set ws = ThisWorkbook.Sheets.Add
ws.Name = AnzahlTabellen
AnzahlTabellen = AnzahlTabellen + 1
wb.Sheets(1).Cells.Copy Destination:=ws.Cells
wb.Close savechanges:=False
strDatnam = Dir
Loop
Set ws = Nothing
Set wb = Nothing
End Sub
Er speichert die Sheets in die Neue Exceldatei und erstellt dort ein Sheet beginnend mit 1 bis N (n= anzahl der Dateien im Folder).
Bei vielen Ordnern klappt dies ohne Probleme. Doch bei manchen Ordnern ( mit wenig aber auch mit vielen Dateien) kommt die Fehlermeldung "Microsoft Excel funktioniert nicht mehr" mit der Auswahl "Programm neu Starten".
Beispiel: Ich wähle ein Ordner mit 10 Dateien aus dies Funktioniert ohne Probleme. Wähle ich ein anderen Ordner mit 10 Dateien aus, kommt die Fehlermeldung. Nehme ich aus dem Ordner 7 Dateien raus und probiere das Makros bei 3 Dateien. Brauch ich manchmal 3-4 Anläufe bis es funktioniert. Also das komische ist, dass er nicht immer "abschmiert" aber zu 90%.
Woran kann das liegen? Schreibschutz sollte bei den Dateien etc. nicht vorhanden sein. Ich hoffe ihr könnt mir helfen und meine Verzweiflung brechen.
Mit freundlichen Gruß
Excel_Jürgen