Thema Datum  Von Nutzer Rating
Antwort
Rot Namenskonventionen von Listobjects
23.03.2025 09:33:08 xlKing
NotSolved
23.03.2025 10:39:17 ralf_b
NotSolved
23.03.2025 16:48:06 xlKing
NotSolved
23.03.2025 18:54:54 Gast01
NotSolved
23.03.2025 19:53:18 xlKing
NotSolved

Ansicht des Beitrags:
Von:
xlKing
Datum:
23.03.2025 09:33:08
Views:
75
Rating: Antwort:
  Ja
Thema:
Namenskonventionen von Listobjects

Hi Leute,

Ich möchte den Namen von Listobjects über eine VBA-Inputbox vergeben und versuche herauszufinden, ob es hier verbotene Zeichen gibt. Dazu habe ich folgenden Link gefunden: Umbenennen einer Excel-Tabelle - Microsoft-Support

Nun habe ich das Ganze mal durchgetestet und festgestellt, dass der Eigenschaft Name per VBA String mit allen 255 Zeichen zugeordnet werden können. Die im Link genannten Einschränkungen beziehen sich offenbar nur auf die Eigenschaft DisplayName.

Wenn ich also versuche meinen intelligenten Tabellen Namen mit verbotenen Zeichen zuzuordnen wird im Ribbon "Tabellenentwurf" ein angepasster Name angezeigt. Soweit so gut. Wenn ich nun aber über VBA ein Listobject mit dem angezeigten Namen anwählen will, erhalte ich den Lautzeitfehler 9 - "Index außerhalb des gültigen Bereichs". Anwählen kann ich das Listobject dafür über meinen falschen Namen.

Mein Testcode:

Sub Test()

ActiveSheet.ListObjects(1).Name = "ABCDE!FG"
ActiveSheet.ListObjects(2).Name = "ABCDE""FG"
ActiveSheet.ListObjects(3).Name = "C"

MsgBox "Name:" & ActiveSheet.ListObjects(1).Name & "     Displayname:" & ActiveSheet.ListObjects(1).DisplayName
MsgBox "Name:" & ActiveSheet.ListObjects(2).Name & "     Displayname:" & ActiveSheet.ListObjects(2).DisplayName
MsgBox "Name:" & ActiveSheet.ListObjects(3).Name & "     Displayname:" & ActiveSheet.ListObjects(3).DisplayName

MsgBox ActiveSheet.ListObjects(ActiveSheet.ListObjects(1).DisplayName).Name 'Hier kommt der Fehler.

End Sub

Das ist verwirrend, denn zuerst sucht man ja nach dem sichtbaren Namen, den man im Ribbon lesen kann.

Nun frage ich mich, ob damit die Displayname-Eigenschaft obsolet ist, und warum deren Inhalt immer noch in Excel als Name der intelligenten Tabelle angezeigt wird. Die Hilfeseite von Microsoft bringt mich hier nicht weiter: ListObject.DisplayName-Eigenschaft (Excel) | Microsoft Learn

Hat von euch jemand Erfahrung damit? Muss ich bei der Prüfung der Namensvergabe irgendwas beachten, was später zu Problemen führen könnte? Wenn ja, wie finde ich die verbotenen Zeichen heraus? Die Namensgrenze von 255 Zeichen scheint weiter gültig zu sein.

Gruß Mr. K.
 

 

 

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Namenskonventionen von Listobjects
23.03.2025 09:33:08 xlKing
NotSolved
23.03.2025 10:39:17 ralf_b
NotSolved
23.03.2025 16:48:06 xlKing
NotSolved
23.03.2025 18:54:54 Gast01
NotSolved
23.03.2025 19:53:18 xlKing
NotSolved