Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Laufzeitfehler

Forumthread: Laufzeitfehler

Laufzeitfehler
04.05.2020 21:31:08
Hifi
Guten Tag zusammen
Ich stehe wieder mal vor einem Problem...
Ich brauche ein Inhaltsverzeichnis von (fast) allen Tabellenblättern in der Arbeitsmappe, welche in einer ListBox angezeigt werden sollen. Dazu erstellt das Sub auf dem Hilfsblatt "Grundlagen" eine Tabelle (S1:S100) (S1=Überschrift), welche dann von der ListBox "abgeholt" werden.
Das klappt soweit auch alles gut. Nur wenn die ListBox wieder aufgerufen wird, obwohl sich am Inhaltsverzeichnis nichts geändert hat, kommt die Meldung "Laufzeitfehler '1004': Dieser Name wird bereits verwendet. Verwenden Sie einen anderen".
Dabei handelt es sich um den Namen des Tabellenblatts "Grundlagen". Dieser ist logischerweise schon vergeben, wenn etwas am Inhalt ändert macht das auch nichts.
Hat jemand eine Idee? Ich verzweifle langsam daran...

Public Sub Inhaltsverzeichnis()
Dim Tabelle As Worksheet
Dim i As Integer
ActiveWorkbook.Unprotect ""
ActiveSheet.Name = "Grundlagen"
ActiveSheet.Unprotect ""
Range("s1:s100").ClearContents 'ohne select
Cells(1, 19).Value = "Enthaltene Arbeitsblätter"
i = 2
For Each Tabelle In ActiveWorkbook.Worksheets
If Tabelle.Name  "Inhaltsverzeichnis" _
And Tabelle.Name  "Prozessliste" _
And Tabelle.Name  "Vorlage" _
And Tabelle.Name  "Grundlagen" _
And Tabelle.Name  "Vorlage (Original)" Then
Cells(i, 19).Value = Tabelle.Name
Tabelle.Hyperlinks.Add Anchor:=Cells(i, 19), _
Address:="", SubAddress:="'" & Tabelle.Name & "'" & _
"!A1", ScreenTip:="zum Tabellenblatt", _
TextToDisplay:=Tabelle.Name
i = i + 1
End If
Next Tabelle
ActiveSheet.Protect ""
ActiveWorkbook.Protect ""
End Sub

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler
04.05.2020 21:35:46
onur
Du kanst keine reservierten Wörter wie z.B. Tabelle als Variablenname verewenden!
AW: Laufzeitfehler
04.05.2020 21:41:03
Hifi
Hallo onur
Da komm ich jetzt nicht draus...
AW: Laufzeitfehler
04.05.2020 21:47:26
onur
Ich habe zu schnell geschossen - sorry.
Bist du sicher, dass der Fehler in diesem Modul ist?
Hast du mal "Debuggen" angeklickt?
Anzeige
AW: Laufzeitfehler
04.05.2020 21:56:12
Hifi
Sicher bin ich nicht aber beim debuggen markiert es mir immer ActiveSheet.Name = "Grundlagen", daher gehe ich davon aus, dass dies der Auslöser für den Laufzeitfehler ist...
AW: Laufzeitfehler
04.05.2020 22:06:21
onur
Weisst du eigentlich, was
ActiveSheet.Name = "Grundlagen"
macht?
Das z.Zt. aktive Blatt wird UMBENANNT auf "Grundlagen" !
Da aber schon ein Blatt mit diesem Namen existiert, kommt die Meldung.
Du wolltest wahrscheinlich das Blatt zum ActiveSheet machen - das geht aber SO:
Worksheets("Grundlagen").Select (oder .Activate).
Anzeige
AW: Laufzeitfehler
04.05.2020 22:10:10
GerdL
Moin,
ich habe auf deinen Verdacht hin versucht, das Makro anzupassen.
Public Sub Inhaltsverzeichnis()
Dim Tabelle As Worksheet, Grund As Worksheet
Dim i As Long
ActiveWorkbook.Unprotect ""
On Error Resume Next
Set Grund = Worksheets("Grundlagen")
On Error GoTo 0
If Not Grund Is Nothing Then
Tabelle.Activate
Set Grund = Nothing
Else
ActiveSheet.Name = "Grundlagen"
End If
ActiveSheet.Unprotect ""
Range("s1:s100").ClearContents 'ohne select
Cells(1, 19).Value = "Enthaltene Arbeitsblätter"
i = 2
For Each Tabelle In ActiveWorkbook.Worksheets
If Tabelle.Name  "Inhaltsverzeichnis" _
And Tabelle.Name  "Prozessliste" _
And Tabelle.Name  "Vorlage" _
And Tabelle.Name  "Grundlagen" _
And Tabelle.Name  "Vorlage (Original)" Then
Cells(i, 19).Value = Tabelle.Name
Tabelle.Hyperlinks.Add Anchor:=Cells(i, 19), _
Address:="", SubAddress:="'" & Tabelle.Name & "'" & _
"!A1", ScreenTip:="zum Tabellenblatt", _
TextToDisplay:=Tabelle.Name
i = i + 1
End If
Next Tabelle
ActiveSheet.Protect ""
ActiveWorkbook.Protect ""
End Sub

Gruß Gerd
Anzeige
AW: Laufzeitfehler
04.05.2020 22:14:47
onur
Hi Gerd,
Bei
Tabelle.Activate
ist die Variable "Tabelle" zwar dimensioniert, aber noch gar nicht besetzt.
AW: Laufzeitfehler
04.05.2020 22:52:27
Hifi
Hallo zusammen
Wieder einmal konnte mir onur helfen. Vielen Dank dafür!
AW: Laufzeitfehler
04.05.2020 22:52:29
Hifi
Hallo zusammen
Wieder einmal konnte mir onur helfen. Vielen Dank dafür!
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige