1.9k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,

habe ein Makro aufgezeichnet, dass mir zwei Tabellenblätter ohne Formeln in eine neue Arbeitsmappe speichert.
Wenn ich die Datei neu öffne und meine Eingabe mache (sucht dann Daten aus einer anderen Datei) und dann das Makro laufen lasse funktioniert alles super.
Wenn ich dann aber eine neue Eingabe mache (wieder neue Daten), dann läuft das Makro nicht mehr.
Es erscheint folgende Meldung:
Laufzeitfehler 9: Index außerhalb des gültigen Bereichs.

Woran kann das liegen.

Schonmal vielen Dank für eure Hilfe

5 Antworten

0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

da das Makro nicht zur Verfügung steht, mal geraten:

du setzt den Index nicht zurück, bei neustart des Makros.

Für weitere Hilfe stelle das Makro mal hier ein.

Gruß

Helmut
0 Punkte
Beantwortet von
Hallo Helmut,

danke für die schnelle Antwort. Hier das Makro:

Workbooks.Add
Windows("Vorlage Auftrag anlegen.xls").Activate
Cells.Select
Selection.Copy
Windows("Mappe1").Activate
Cells.Select
ActiveSheet.Paste
Range("B3:G14").Select
Application.CutCopyMode = False
Selection.Copy
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("B3").Select
Sheets("Tabelle2").Select
Windows("Vorlage Auftrag anlegen.xls").Activate
Sheets("Stundenzettel").Select
Cells.Select
Selection.Copy
Windows("Mappe1").Activate
Cells.Select
ActiveSheet.Paste
Range("C2:C9").Select
Application.CutCopyMode = False
Selection.Copy
Range("C2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("H20:H30").Select
Selection.Copy
Range("H20:H30").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("G20:G30").Select
Selection.Copy
Range("G20:G30").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("F20:F30").Select
Selection.Copy
Range("F20:F30").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("E20:E30").Select
Selection.Copy
Range("E20:E30").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Tabelle2").Select
Sheets("Tabelle2").Name = "Stundenzettel"
Sheets("Tabelle1").Select
Sheets("Tabelle1").Name = "Auftrag"
Range("A4").Select
End Sub

Der Fehler liegt bei "Windows("Mappe1").Activate

Vielleicht hilft das schon weiter....
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
hallo,

du machst es dir recht einfach. Nach dem Motto nun sucht mal schön. es kommt der Befehl 2 mal vor.

Gruß

Helmut
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo,

der Fehler kommt daher, dass du eine neue Arbeitsmappe anlegst und diese in deinem Makro immer als "Mappe1" ansprichst. Das funktioniert nur, wenn du das erste Mal eine neue Arbeitsmappe anlegst. Wird das Makro zum 2. Mal ausgeführt, so wird eine "Mappe2" angelegt und "Mappe1" wird nicht mehr gefunden.

Statt
Workbooks.Add

schreibe
Set neuesWB = Workbooks.Add
a = neuesWB.Name


Dann ersetze in deinem Makro
Windows("Mappe1").Activate

durch
Windows(a).Activate


Gruß

M.O.
0 Punkte
Beantwortet von
Hallo,

@ M.O.: vielen Dank. Jetzt klappt's.... :-)

@ Helmut: Sorry, hatte nicht gesehen, dass das zweimal vorkommt. Makro wurde von mir aufgezeichnet.

Gruß

Makrogreenhorn
...