Laufzeitfehler 1004: methode copy

Hallo an Alle,

ich habe aus mehrere Seiten folgende Makros zusammengestellt. Im Prinzip funktioniert das Makro aber immer nach 20 Iterationen kommt die Laufzeitfehler 1004: Die Methode ‚Copy‘ für das Object ‚_Worksheet‘ ist fehlgeschlagen. Ich arbeite mir Excel 2003. Ich habe probiert eine Schleife zu stellen, damit das blatt sich schließt und wieder öffnet, so wie im microsoft bsp. Aber ich denke ich setze sie nie richtig, den dir fehler tritt immer auf. kann mir jemand dabei helfen entweder die Schleif, zu schließen und wieder öffnen der Mapper oder iriegendwie das Problem zu lösen?
Das Makor kopiert Blätter aus andere Mappen und fügt sie in einen andere Mappe.Hier ist das Code
Sub Import()

Dim VerzVar As String
Dim Pfadname As String
Dim ZielMappe As Workbook
Dim QuellMappe As Workbook
Dim i As Worksheet
Dim iName As String

Pfadname = „H:\Probe“
VerzVar = Dir(Pfadname & „*.xl*“)
Set ZielMappe = ThisWorkbook

Do While VerzVar „“

UserFile = Pfadname & VerzVar
Set QuellMappe = Workbooks.Open(Filename:=UserFile)
For Each i In Sheets

If i.Visible = xlSheetVisible Then
iName = i.Name
Application.DisplayAlerts = False
QuellMappe.Sheets(iName).Copy After:=ThisWorkbook.Sheets(1)
Application.DisplayAlerts = True
Else

End If
Next
VerzVar = Dir()
QuellMappe.Close SaveChanges:=False
Loop
End Sub