Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
252to256
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
252to256
252to256
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Laufzeitfehler 9

Laufzeitfehler 9
04.05.2003 19:43:48
olaf
Hallo Leute,

ich benutzte folgendes Makro das mir "Remo" am 2.5.03 hier im Forum geschickt hat. Das Makro soll dabei aus einer Vielzahl von Excel-Tabellen die in verschiedenen Verzeichnissen liegen immer wieder die Datei ZEiterfassung öffnen und die Daten aller Blätter einlesen. Prinzipiell funktioniert das jetzt auch ganz gut, nur leider kommt nach kurzer ZEit immer der Laufzeitfehler 9 "Index ausserhalb des gültigen Bereichs". Weiss jemand was ich dagegen tun kann. Danke euch allen vielmals und besonders dem Remo für das Makro.

Grüße Olaf


Sub einlesen()

For i = 2 To 200
Windows("Datenbank.xls").Activate
Sheets("Ordnernamen").Select
Ordner = Cells(i, 1)
Workbooks.Open Filename:="C:\" & Ordner & "\Zeiterfassung.xls"


Blatt = 1
Do Until Blatt > 12
Sheet(Blatt).Select
Rows("1:36").Copy
Windows("Datenbank.xls").Activate
Sheets("Daten").Select
Zeilen = 2
Do Until IsEmpty(Cells(Zeilen, 1))
Zeilen = Zeilen + 36
Loop
Rows(Zeilen & ":" & Zeilen + 35).PasteSpecial
Blatt = Blatt + 1
Windows("Zeiterfassung.xls").Activate
Loop
ActiveWorkbook.Save
ActiveWorkbook.Close
Next i
End
Windows("Datenbank.xls").Activate
Sheets("Daten").Select

End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Laufzeitfehler 9
04.05.2003 19:57:31
Forum

Hallo Olaf

ich wollte mir jetzt nicht alle Beispieldateien nachbauen. Versuche es mal ohhne select und ähnliche Befehle. Mal ungetestet.

Gruß Hajo

Der Code wurde getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Re: Laufzeitfehler 9
04.05.2003 20:10:11
olaf

Danke Hajo,
leider funktioniert das immer noch nicht richtig. BEkomme wieder einen Laufzeitfehler. Aber mal was anderes. Wenn ich den Programmcode richtig interpretiere kopiert der solange bis er 12 Blätter in der Datei Zeiterfassung kopiert hat. Jetzt ist mir grad aufgefallen das nicht in jeder Zeiterfassungsdatei 12 Blätter drin sind. Der Laufzeitfehler tritt auch immer an der Stelle Worksheets(blatt).rows(...).copy auf. Kann das damit zusammenhängen ??? Und wie könnte man dieses Problem lösen das er alle Blätter einer Datei ZEiterfassung kopiert, egal wieviele in einer Datei drin sind???
Danke vielmals,

Grüße Olaf

Anzeige
Re: Laufzeitfehler 9, noch offen
04.05.2003 20:15:23
Forum

Hallo Olaf

ich habe aus Deinem Code nur das select entfernt und nicht den ode analysiert was er macht. Da muß dann wohl Remo noch mal ran er hat sich ja schon mal mit dem Problem befast. Mir ist das leider zu Aufwendig.

Gruß Hajo

Der Code wurde getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Re: Laufzeitfehler 9, noch offen
04.05.2003 20:18:02
olaf

Ja ist OK,

probiers morgen nochmal mittem Remo. Danke dir trotzdem. Bastel jetzt noch ein bischen weiter dran rum. Alos schönen Sonntag noch,
Servus Olaf

Anzeige
Rettung naht...
07.05.2003 10:00:25
Remo

Ciao Olaf

Habe mir das Ganze nochmals angeschaut. Das Problem
mit der verschiedenen Anzahl Blätter sollte so
behoben sein:

Gruss Remo

Sub einlesen()

For I = 2 To 200
Ordner = Windows("Datenbank.xls").Sheets("Ordnernamen").Cells(I, 1)
Workbooks.Open Filename:="C:\" & Ordner & "\Zeiterfassung.xls"

ANZAHL_BLAETTER = ActiveWorkbook.Sheets.Count
Blatt = 1
Do Until Blatt > ANZAHL_BLAETTER
Worksheets(Blatt).Rows("1:36").Copy
With Workbooks("Datenbank.xls").Worksheets("Daten")

Zeilen = 2
Do Until IsEmpty(Cells(Zeilen, 1))
Zeilen = Zeilen + 1
Loop
Rows(Zeilen & ":" & Zeilen + 35).PasteSpecial
Blatt = Blatt + 1
Windows("Zeiterfassung.xls").Activate
Loop
ActiveWorkbook.Save
ActiveWorkbook.Close
Next I
End
Windows("Datenbank.xls").Activate
Sheets("Daten").Select

End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige