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

Forumthread: Namen einer Zelle in VBA auslesen

Namen einer Zelle in VBA auslesen
09.10.2005 09:46:20
MB
Hallo zusammen,
ich habe mehrere Zellen benannt, um direkt darauf zugreifen zu können. Nun möchte ich den Namen in VBA auslesen lassen, mache aber irgend etwas falsch.
set x = activesheet.cells(3,1).name
dafür erhalte ich dann: = Tabelle1!$A$3
ich will aber den Namen dieser Zelle wissen!
Wie lese ich den Namen einer Zelle in eine Variable?
Schon mal besten Dank
LG Mike
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
.Name.Name
09.10.2005 09:51:10
{Boris}
Hi Mike,
den Namen erhhälst du mit .Name.Name:
Range("A1").Name.Name
liefert dir den Namen, der sich auf A1 bezieht (sofern du einen vergeben hast).
Allerdings spricht man eine benannte Zelle einfach so an:
=Range("DeinName")
Grüße Boris
AW: Namen einer Zelle in VBA auslesen
09.10.2005 09:52:10
Matthias
Hallo Mike,

Function HatNamen(b As Range) As String
Dim n As String
On Error Resume Next
n = Names(, , CStr(b.Name)).Name
If Err.Number > 0 Then
HatNamen = ""
Exit Function
Else
HatNamen = n
End If
End Function

MsgBox HatNamen(activesheet.cells(3,1)
Gruß Matthias
Anzeige
Danke euch beiden
10.10.2005 09:48:27
MB
da wäre ich wieder nie draufgekommen ...Name.Name
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Namen einer Zelle in VBA auslesen


Schritt-für-Schritt-Anleitung

Um den Namen einer Zelle in VBA auszulesen, kannst du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11 in Excel.
  2. Erstelle ein neues Modul:

    • Rechtsklick auf "VBAProject (DeineDatei.xlsx)" > "Einfügen" > "Modul".
  3. Füge den folgenden Code ein:

    Function HatNamen(b As Range) As String
       Dim n As String
       On Error Resume Next
       n = Names(, , CStr(b.Name)).Name
       If Err.Number > 0 Then
           HatNamen = ""
           Exit Function
       Else
           HatNamen = n
       End If
    End Function
  4. Verwende die Funktion:

    • Um den Namen einer bestimmten Zelle, z.B. Zelle A3, auszulesen, kannst du folgendes verwenden:
      MsgBox HatNamen(ActiveSheet.Cells(3, 1))

Häufige Fehler und Lösungen

  • Fehler: "Name not defined"

    • Prüfe, ob die benannte Zelle tatsächlich existiert und korrekt benannt wurde.
  • Fehler: Kein Wert wird zurückgegeben

    • Stelle sicher, dass die Zelle, von der du den Namen auslesen möchtest, auch einen Namen hat. Nutze die Funktion HatNamen, um dies zu überprüfen.

Alternative Methoden

Eine alternative Methode, um den Namen einer benannten Zelle auszulesen, ist die Verwendung der .Name.Name-Eigenschaft. Hier ein Beispiel:

Sub BeispielNameAuslesen()
    Dim zellenName As String
    zellenName = Range("A1").Name.Name ' Hier wird der Name der benannten Zelle ausgegeben
    MsgBox zellenName
End Sub

Praktische Beispiele

  • Beispiel 1: Namen einer benannten Zelle auslesen: Wenn du eine Zelle mit dem Namen "MeinName" hast, kannst du diesen Namen so auslesen:

    Sub NameAuslesen()
       MsgBox Range("MeinName").Name.Name
    End Sub
  • Beispiel 2: Alle Bereichsnamen auslesen: Um alle benannten Bereiche in deinem Workbook aufzulisten, kannst du diesen Code verwenden:

    Sub BereichsnamenAuslesen()
       Dim n As Name
       For Each n In ThisWorkbook.Names
           Debug.Print n.Name
       Next n
    End Sub

Tipps für Profis

  • Verwende On Error Resume Next sparsam: Dieser Befehl kann dazu führen, dass Fehler übersehen werden. Stelle sicher, dass du ihn nur in spezifischen Fällen einsetzt.

  • Dokumentiere deine benannten Zellen: Halte eine Übersicht über alle benannten Zellen, um die Verwaltung zu erleichtern.

  • Teste deine Funktionen: Überprüfe immer die Rückgabewerte deiner Funktionen, um sicherzustellen, dass sie korrekt funktionieren.


FAQ: Häufige Fragen

1. Wie kann ich den Wert einer benannten Zelle in VBA auslesen?
Du kannst den Wert einfach mit Range("DeinName").Value auslesen.

2. Was ist der Unterschied zwischen .Name und .Value?
.Name gibt den Namen der benannten Zelle zurück, während .Value den Inhalt (Wert) der Zelle zurückgibt.

3. Wie kann ich alle benannten Zellen in einer Liste anzeigen?
Du kannst eine Schleife verwenden, um alle Namen im Workbook durchzugehen und sie in einer MsgBox oder in der Konsole auszugeben.

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