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

Forumthread: Zellnamen vergeben und auslesen

Zellnamen vergeben und auslesen
21.07.2004 14:08:02
Buggl
Hallo!
Um einer Zelle einen Namen zu geben (der dann auch entsprechend auf dem Excel Arbeitsblatt im Namenfeld steht), benutze ich den Befehl:
Zelle.Name = Name
(mit Zelle als Range-Objekt und Name als String)
Alles klar, das klappt auch!
Aber wenn ich umgekehrt diesen vergebenen Namen wieder auslesen will mit:
Name=Zelle.Name
Dann steht in "Name" nicht der vergebene String sondern die Angabe:
='Tabelle1'!$G$10
Wie kommen ich an den "richtigen" Namen?
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Name=Zelle.Name.Name oT
Ulf
Ulf
AW: Name=Zelle.Name.Name oT
21.07.2004 14:50:01
Buggl
Danke für die Hilfe, aber ich verstehe das ganze Benennungssystem nicht ganz. Konkret möchte ich den Zellnamen auslesen, diesen verändern und wieder in die gleiche Zelle schreiben, ungefähr so:
Zellname = Range("A1").Name.Name 'Name auslesen
Zellname = Zellname + Str(i) 'Name verändern
Range("A1").Name = Zellname 'Name zurückschreiben
die letzte Zeile bringt einen Fehler, ganauso wie:
Zelle(j).Name.Name = Zellname
?
Anzeige
AW: Name=Zelle.Name.Name oT
Ulf
Bei deinem VBA- Level sollte es mithilfe der Hilfe kein Problem sein,
mit VBA einen Namen zu setzen.
Ulf
Eigene Forschung!
Buggl
VBA-Kenntnisse sind das eine, VBA-für-Excel-Kenntnisse aber...
Für alle, die ein ähnliches Problem haben:
Erstens:
Man muss also den Zellen erstmal einen Namen zuweisen, bevor man ihn lesen kann. Die Standardnamen "A1", "C8" etc. sind wohl keine "voreingestellten" Namen an sich - steht leider nicht direkt in der Hilfe!
Also:
Diese Zeilen:
Set Zelle = Application.InputBox("bitte Zelle wählen!", , , , , , , 8)
MsgBox Zelle.Name.Name
erzeugen einen Fehler!
Aber so:
Set Zelle = Application.InputBox("bitte Zelle wählen!", , , , , , , 8)
Zelle.Name = "Test_Name"
MsgBox Zelle.Name.Name
gehts!
Zweitens:
der Fehler wird dadurch erzeugt, dass das Anhängen von "str(i)" ein Leerzeichen einfügt, dass in Zellnamen unzulässig ist... anstatt str benutzt man besser "format" (das steht allerdings in der Hilfe)
Anzeige
AW: Eigene Forschung bei spotlight?
Ulf
ot
AW: Eigene Forschung bei spotlight?
Buggl
Entschuldigung! In zwei Foren die gleiche Frage zu stellen ist nicht so der Brüller, ist mir jetzt auch klar.bei spotlight habe ich nur die erste Frage gestellt, deren Beantwortung auch nicht so viel Zeit beansprucht. Die eigene Forschung war aber wirklich eigene Forschung!
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zellnamen vergeben und auslesen in Excel


Schritt-für-Schritt-Anleitung

  1. Zelle einen Namen zuweisen: Um einer Zelle einen Namen zu vergeben, kannst du im VBA-Editor den folgenden Befehl verwenden:

    Zelle.Name = "Mein_Name"

    Hierbei ist Zelle ein Range-Objekt (z. B. Range("A1")).

  2. Zellnamen auslesen: Um den vergebenen Namen wieder auszulesen, nutze diesen Befehl:

    Name = Zelle.Name

    Beachte, dass der ausgegebene Wert möglicherweise den Zellbezug enthält, z. B. ='Tabelle1'!$G$10. Um den "richtigen" Namen zu erhalten, verwende:

    Name = Zelle.Name.Name
  3. Zellnamen verändern: Um den Namen einer Zelle zu ändern, kannst du den folgenden Code verwenden:

    Zellname = Range("A1").Name.Name 'Name auslesen
    Zellname = Zellname & Str(i)      'Name verändern
    Range("A1").Name = Zellname       'Name zurückschreiben
  4. Zellenname löschen: Falls du den Namen einer Zelle löschen möchtest, kannst du den folgenden Befehl verwenden:

    ThisWorkbook.Names("Mein_Name").Delete

Häufige Fehler und Lösungen

  • Fehler beim Auslesen des Zellnamens: Wenn du versuchst, den Namen einer Zelle auszulesen und stattdessen den Zellbezug erhältst, stelle sicher, dass die Zelle tatsächlich einen Namen zugewiesen bekommen hat. Verwende den Befehl Zelle.Name = "Mein_Name" vor dem Auslesen.

  • Leerzeichen in Zellnamen: Das Anhängen eines Strings an einen Zellnamen kann zu einem Fehler führen, wenn ein Leerzeichen eingefügt wird. Statt Str(i) ist es besser, Format(i) zu verwenden, um sicherzustellen, dass der Zellname gültig bleibt.


Alternative Methoden

Du kannst auch die Excel-Oberfläche nutzen, um Zellnamen zu vergeben und auszulesen:

  1. Zellnamen vergeben: Markiere die Zelle, gehe zur Namensbox links neben der Formelleiste, gib den gewünschten Namen ein und drücke Enter.

  2. Zellnamen auslesen: Klicke auf die Zelle und schaue in die Namensbox, um den Namen anzuzeigen.


Praktische Beispiele

  1. Einfaches Beispiel zur Vergabe:

    Sub ZellnamenVergeben()
       Dim Zelle As Range
       Set Zelle = Range("B2")
       Zelle.Name = "MeinZellenname"
    End Sub
  2. Zellnamen auslesen und verändern:

    Sub ZellnamenAendern()
       Dim Zellname As String
       Dim i As Integer
       i = 1
       Zellname = Range("B2").Name.Name
       Zellname = Zellname & Format(i)
       Range("B2").Name = Zellname
    End Sub

Tipps für Profis

  • Verwende aussagekräftige Zellnamen, um die Lesbarkeit deiner Formeln zu erhöhen.
  • Nutze die Funktion ThisWorkbook.Names im VBA, um eine Liste aller vergebenen Zellnamen zu erhalten.
  • Denke daran, dass Zellnamen keine Leerzeichen oder Sonderzeichen enthalten dürfen.

FAQ: Häufige Fragen

1. Wie kann ich einen Zellnamen löschen?
Du kannst einen Zellnamen mit dem Befehl ThisWorkbook.Names("Mein_Name").Delete löschen.

2. Warum kann ich den Zellnamen nicht auslesen?
Stelle sicher, dass die Zelle tatsächlich einen Namen zugewiesen bekommen hat. Andernfalls zeigt Excel den Zellbezug an, anstatt den vergebenen Namen.

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