Blätter mit Makros hinzufügen
18.01.2005 15:58:59
Roland Hochhäuser
folgender Code fügt zu einer bestehenden Arbeitsmappe neue Arbeitsblätter hinzu und versorgt einen Teil davon diese mit einem Ereigniscode:
Sub SheetsMitCode()
Dim i As Integer, ws As Worksheet
For i = 1 To 10
Worksheets.Add after:=Worksheets(Worksheets.Count)
Next
For Each ws In ActiveWorkbook.Worksheets
If ws.Index > 8 Then
With ActiveWorkbook.VBProject.VBComponents(ws.Name).CodeModule
.InsertLines 1, "
Private Sub Worksheet_Activate()" & vbLf & _
"CaptionAnpassen" & vbLf & "End Sub
"End With
End If
Next
End Sub
In einer leeren Arbeitsmappe funktioniert das tadellos. Wenn ich diesen Code jedoch in ein größeres Projekt einfüge, bekomme ich einen Laufzeitfehler 9 (Index außerhalb des gültigen Bereiches), und zwar bei der Zeile "With ActiveWorkbook.VBProject.VBComponents(ws.Name).CodeModule"
Ich habe schon eine neue Mappe angelegt und das Projekt von Grund auf neu aufgebaut: keine Chance, der gleiche Fehler. Was kann die Ursache sein?
Ratlos
Roland