2.2k Aufrufe
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
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
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
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
von m-o Profi (22.9k 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
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

Deine Antwort

Dein angezeigter Name (optional):
Datenschutz: Deine Email-Adresse benutzen wir ausschließlich, um dir Benachrichtigungen zu schicken. Es gilt unsere Datenschutzerklärung.
Anti-Spam-Captcha:
Bitte logge dich ein oder melde dich neu an, um das Anti-Spam-Captcha zu vermeiden.
...