Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1640to1644
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
Inhaltsverzeichnis

CodeName lässt sich ändern nur bei Alt+F11

CodeName lässt sich ändern nur bei Alt+F11
29.08.2018 16:51:32
Eisenmann
Hallo zusammen, woran kann es liegen, das der CodeName bei neu angelegtem Datenblatt nicht angelegt werden kann solange Entwicklungsumgebung (Alt+F11) nicht sichtbar ist?
In der CodeName Zuweisungszeile wird der "Laufzeitfehler '9' Index außerhalb des gültigen Bereichs" ausgegeben. Sobald die Entwicklungsumgebung geöffnet wird, läuft der Code einwandfrei weiter. Habe viele verschiedene Schreibweisen ausprobiert, keine hat geholfen. Hier nur eine der vielen ausprobierten Schreibweisen:
With ThisWorkbook
.Worksheets.Add.Name = "Mysheet"
.VBProject.vbcomponents(Worksheets("Mysheet").CodeName).Name = "My_CodeName"
End with
' alternativ
' ThisWorkbook.VBProject.vbcomponents("Mysheet").Properties(5).Value = "My_CodeName"
' With Application.ThisWorkbook.VBProject.VBComponents(ActiveSheet.CodeName)
' .Name = "My_CodeName"
' End With
' u.v.m.- das Ergebnis ist immer das gleiche.
Danke für eure RM!

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CodeName lässt sich ändern nur bei Alt+F11
29.08.2018 17:39:10
onur
Siehe Micosoft:
Worksheet.CodeName-Eigenschaft (Excel)
office 365 dev account|Zuletzt aktualisiert: 05.12.2017|1 Mitwirkender
Gibt den Codenamen für das Objekt zurück. Schreibgeschützter String -Wert.
AW: CodeName lässt sich ändern nur bei Alt+F11
29.08.2018 18:09:47
Nepumuk
Hallo Eisenmann,
das lässt sich per VBA umgehen:
Option Explicit

Private lobjWorksheet As Worksheet

Public Sub test()
    With ThisWorkbook
        Set lobjWorksheet = .Worksheets.Add(After:=.Worksheets(1), Type:=xlWorksheet)
    End With
    Call Application.OnTime(EarliestTime:=Now, Procedure:="ReName", Schedule:=True)
End Sub

Private Sub ReName()
    Application.VBE.MainWindow.Visible = True
    ThisWorkbook.VBProject.VBComponents(lobjWorksheet.CodeName).Name = "XXX"
    Application.VBE.MainWindow.Visible = False
End Sub

Gruß
Nepumuk
Anzeige
AW: CodeName lässt sich ändern nur bei Alt+F11
29.08.2018 18:20:50
Eisenmann
Hallo Nepumuk, besten dank! Ich glaube, so könnte es auch funktionieren. Ich habe mittlerweile so gelöst, dass vor der CodeName Änderung jede Componente durch eine Schleife "sinnlos" abgefragt wird. Dann funktioniert es bei mir:
For Each comp In .VBProject.vbcomponents
Next
Danke für eure RM!
Eisenmann
AW: CodeName lässt sich ändern nur bei Alt+F11
29.08.2018 22:28:02
Mullit
Hallo,
machs doch besser so:
With ThisWorkbook
.Worksheets.Add.Name = "Mysheet"
.VBProject.VBComponents(.VBProject.VBComponents.Count).Name = "My_CodeName"
End With

Gruß, Mullit
AW: CodeName lässt sich ändern nur bei Alt+F11
30.08.2018 13:58:54
Eisenmann
Hallo Mullit, das ist die eleganteste Lösung, spitze! Habe übernommen. Danke!!!
Gruß, Eisenmann
Anzeige

131 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige