Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2024 14:59:21
23.04.2024 14:47:39
23.04.2024 14:23:45
Anzeige
Archiv - Navigation
548to552
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
548to552
548to552
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Blätter mit Makros hinzufügen

Blätter mit Makros hinzufügen
18.01.2005 15:58:59
Roland Hochhäuser
Hallo zusammen,
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

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blätter mit Makros hinzufügen
18.01.2005 21:37:51
Peter Feustel
Hallo Rolan,
das Problem habe ich auch, wenn VBA für die Mappe nicht gestartet ist (Alt + F11).
Versuch es ggf. mit SendKeys ("%{f11}") ' Alt + F11 - VBA-Umgebung vor dem Einfügen deines Codes.
Gruß Peter
AW: noch ein Nachtrag
19.01.2005 09:07:48
Peter Feustel
Hallo Roland
noch ein Nachtrag: Es geht absolut nicht, wenn die Makros Passwort geschützt sind.
Da muss man den Passwortschutz zuerst aufheben, sonst kommt der von dir beschribene Fehler.
Gruß Peter
AW: noch ein Nachtrag
19.01.2005 10:02:22
Roland Hochhäuser
Hallo Peter,
ich habs inzwischen, wie üblich steckte der Teufel im Detail:
statt
With ActiveWorkbook.VBProject.VBComponents(ws.Name).CodeModule
muss es heißen
With ActiveWorkbook.VBProject.VBComponents(ws.CodeName).CodeModule
dann geht es.
Vielen Dank für deine Tips
Gruß Roland
Anzeige
AW: noch ein Nachtrag
19.01.2005 14:24:24
Peter Feustel
Hallo Roland,
leider löst DAS den Fehler bei mir nicht. Excel beharrt darauf, dass das Projekt nicht Passwort geschützt sein darf.
Ich habe versucht, auch das per VBA zu realisieren, das ist mir jedoch nicht recht gelungen.
Ich muss den Passwort Schutz manuell entfernen und neu setzen, dann geht es.
Gruß Peter
AW: noch ein Nachtrag
19.01.2005 17:00:00
Roland Hochhäuser
Hallo Peter,
bei meinem geschützten Projekt habe ich es jetzt so gemacht und es geht glatt durch:
. . .
Application.VBE.MainWindow.Visible = True
If Err.Number = 50289 Then
'### Code für Makros einfügen
end if
Application.VBE.MainWindow.Visible = False
. . .
Hast Du das schon mal verscucht?
Gruß Roland
Anzeige
AW: noch ein Nachtrag
19.01.2005 21:01:27
Peter Feustel
Hallo Roland,
deinen Vorschlag habe ich versucht, aber was ist Err.Number = 50289 ?
Bei mir ist Err.Number = 0, d. h. das Generieren meiner Makros findet nicht statt.
Gruß, Peter
AW: noch ein Nachtrag
19.01.2005 21:10:17
Peter Feustel
Hallo Roland,
der Fehler bleibt - oder wie es so schön heißt: Ein guter Fehler kommt wieder.
ich bekomme den Hinweis: Die Operation kann nicht durchgeführt werden, solange das Projekt geschützt ist. Aber erst, wenn ich meine Makros generieren möchte.
Gruß Peter
PS ich nehme jetzt vorher das Passwort raus und setze es anschließend wieder. Der Anwender kann die Generierung also nicht selbständig vornehmen. Schade eigentlich.
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige