Anzeige
Archiv - Navigation
332to336
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
332to336
332to336
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Nach kopieren Datei schließen

Nach kopieren Datei schließen
07.11.2003 09:21:41
Sascha
Hallo,
ich habe in einem Verzeichniss mehrere Excel Dateien. Diese sollen nacheinander geöffnet, ein bestimmter Zellbereich kopiert, und danach wieder geschlossen werden. das Öffnen sowie das Kopieren funktioniert Problemlos. Einzig beim schließen stürzt Excel regelmäßig ab. Ich hab hier mal das Makro für das Öffnen und Kopieren.


Sub getdata()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim mappe As String
Dim i As Integer
mappe = ThisWorkbook.Name
Sheets("test").Activate
Range("A2:BH65000").Select
With Selection
.ClearContents
.ClearFormats
End With
Range("A2").Select
With Application.FileSearch
.NewSearch
.LookIn = "U:\Project_PA\Analysis_Concepts\Test"
.SearchSubFolders = True
.FileType = msoFileTypeExcelWorkbooks
.Execute
For i = 1 To .FoundFiles.Count
Workbooks.Open .FoundFiles(i)
Range("A7:A56 , A58:A107 , A110:A159 , A161:A210 , A108 , A211:A212") _
.EntireRow.Copy
Workbooks(mappe).Activate
Sheets("test").Activate
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveCell.Offset(203, 0).Select
Next i
End With
Call copydata
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub



Das schließen der Dateien soll möglichst noch innerhalb der For Next -Schleife erfolgen um das Sytem nicht mit zu viel geöffneten Datein zu überlasten.

Danke für eure Hilfe,
Sascha

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nach kopieren Datei schließen
07.11.2003 09:32:34
Hajo_Zi
Hallo Sascha

ich gehe mal davon aus das der Code so lief.


Sub getdata()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim i As Integer
Dim LoI As Long
Sheets("test").Activate
With Range("A2:BH65000")
.ClearContents
.ClearFormats
End With
LoI = 2
'Range("A2").Select
With Application.FileSearch
.NewSearch
.LookIn = "U:\Project_PA\Analysis_Concepts\Test"
.SearchSubFolders = True
.FileType = msoFileTypeExcelWorkbooks
.Execute
For i = 1 To .FoundFiles.Count
Workbooks.Open .FoundFiles(i)
Range("A7:A56 , A58:A107 , A110:A159 , A161:A210 , A108 , A211:A212") _
.EntireRow.Copy Destination:=ThisWorkbook.Sheets("test").Cells(LoI, 1)
ActiveWorkbook.Close False  ' nicht speichern
LoI = LoI + 203
Next i
End With
Call copydata
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub


Bitte keine Mail, Probleme sollten im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro


Anzeige
AW: Nach kopieren Datei schließen
07.11.2003 09:47:26
Sascha
Hallo Hajo,

zunächst mal vielen Dank für deine Antwort. Allerdings tut das Makro auch nicht. Excel erzeugt ne Fehlermeldung von irgend ner "Referenced Memory" und verabschiedet sich dann.
Für weitere Vorschläge oder einen Sprengsatz für meinen PC bin ich immer offen.

Gruß, und schönes Wochenende
Sascha
AW: Nach kopieren Datei schließen
07.11.2003 09:59:07
Hajo_Zi
Hallo Sascha

das ist das was ich geschrieben habe

"ich gehe mal davon aus das der Code so lief."


nicht zusammenhängende Bereiche kannst Du nicht mit einmal kopieren.

Bitte keine Mail, Probleme sollten im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro


Anzeige
AW: Nach kopieren Datei schließen
07.11.2003 10:09:37
Sascha
Hallo Hajo,
sorry, wollte Dich nicht angreifen.
Und der Code lief immer so lange, bis ich probiert habe die göffneten Datein zu schließen. Mit dem Kopieren gab es nie Probleme.Einzig mit dem Schließen.

Gruß

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige