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

Forumthread: IN VBA abfragen ob Zelle mit best. Namen existier

IN VBA abfragen ob Zelle mit best. Namen existier
26.10.2005 10:38:15
thomas
Hallo,
ich habe folgende Frage:
Ich will in VBA prüfen, ob eine best. Zelle mit best. Namen existiert?
Danke und viele Grüße aus Frankfurt
Thomas
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: IN VBA abfragen ob Zelle mit best. Namen existier
26.10.2005 10:42:54
Hajo_Zi
Hallo Thomas,

Sub Namen_Suchen()
‚   erstellt von Hajo.Ziplies@web.de 27.04.03
Dim ObBereich As Object
Dim StName As String
StName = InputBox("Bitte gesuchten Namen eingeben!!")
For Each ObBereich In ActiveWorkbook.Names
If ObBereich.Name = StName Then
MsgBox "Name schon vorhanden"
Exit Sub
End If
Next
End Sub

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem Windows 2000 SP4 und Excel Version 2000 SP3.


Anzeige
AW: IN VBA abfragen ob Zelle mit best. Namen exist
26.10.2005 19:37:15
Thomas
Hallo Thomas,
versuch's mal in etwa so ...


Option Explicit
Sub t()
    On Error Resume Next
    MsgBox IsObject(Range("TEST"))
End Sub


Gruss
Thomas
Risi Thomas Softwareentwicklung
Addins - Datenbanklösungen - Komponenten - RTDServer

Anzeige
AW: IN VBA abfragen ob Zelle mit best. Namen exist
27.10.2005 08:14:56
thomas
danke für die Tips
Thomas
AW: IN VBA abfragen ob Zelle mit best. Namen exist
27.10.2005 08:15:03
thomas
danke für die Tips
Thomas
;
Anzeige
Anzeige

Infobox / Tutorial

Abfragen, ob eine Zelle mit einem bestimmten Namen in VBA existiert


Schritt-für-Schritt-Anleitung

Um in VBA zu prüfen, ob eine Zelle mit einem bestimmten Namen existiert, kannst Du folgenden Code verwenden:

Sub Namen_Suchen()
    Dim ObBereich As Object
    Dim StName As String
    StName = InputBox("Bitte gesuchten Namen eingeben!!")
    For Each ObBereich In ActiveWorkbook.Names
        If ObBereich.Name = StName Then
            MsgBox "Name schon vorhanden"
            Exit Sub
        End If
    Next
    MsgBox "Name nicht gefunden"
End Sub
  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
  2. Füge ein neues Modul hinzu (Einfügen > Modul).
  3. Kopiere den obigen Code in das Modul.
  4. Speichere das Modul und schließe den VBA-Editor.
  5. Führe das Makro Namen_Suchen aus, um den Namen zu überprüfen.

Häufige Fehler und Lösungen

  • Fehler: "Name nicht gefunden" wird angezeigt, auch wenn der Name existiert.
    Lösung: Stelle sicher, dass Du den genauen Namen eingibst, da die Suche fallunempfindlich ist.

  • Fehler: Das Makro wird nicht ausgeführt.
    Lösung: Prüfe, ob Makros in Excel aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center und aktiviere die Makros.


Alternative Methoden

Eine einfache Alternative zur Prüfung, ob eine Zelle mit einem bestimmten Namen existiert, ist die Verwendung von IsObject:

Sub CheckName()
    On Error Resume Next
    MsgBox IsObject(Range("TEST"))
    On Error GoTo 0
End Sub

Diese Methode gibt True zurück, wenn der Name existiert, und False, wenn nicht.


Praktische Beispiele

  1. Überprüfung eines benannten Bereichs:
    Wenn Du einen Bereich mit dem Namen "Daten" hast, kannst Du diesen Namen so überprüfen:
Sub CheckNamedRange()
    If Not IsEmpty(Range("Daten")) Then
        MsgBox "Der benannte Bereich 'Daten' existiert und ist nicht leer."
    Else
        MsgBox "Der benannte Bereich 'Daten' existiert, ist aber leer."
    End If
End Sub
  1. Eingabeaufforderung für verschiedene Namen:
    Du kannst das Makro erweitern, um mehrere Namen nacheinander zu prüfen:
Sub NamenPruefen()
    Dim StName As String
    Do
        StName = InputBox("Bitte gesuchten Namen eingeben (oder abbrechen):")
        If StName = "" Then Exit Sub
        If Not IsObject(Range(StName)) Then
            MsgBox "Name '" & StName & "' nicht gefunden."
        Else
            MsgBox "Name '" & StName & "' existiert."
        End If
    Loop
End Sub

Tipps für Profis

  • Nutze On Error Resume Next, um Fehler bei der Namenssuche elegant zu handhaben.
  • Verwende ActiveWorkbook.Names, um alle benannten Bereiche im aktuellen Workbook zu durchsuchen.
  • Denke daran, den Code klar zu dokumentieren, um die Wartung zu erleichtern, besonders wenn Du in einem Team arbeitest.

FAQ: Häufige Fragen

1. Wie kann ich den Namen einer Zelle ändern?
Um den Namen einer Zelle zu ändern, wähle die Zelle aus, gehe auf die Namensbox (links neben der Formelleiste) und gib den neuen Namen ein.

2. Ist der Name einer Zelle case-sensitive?
Nein, die Namen in Excel sind nicht case-sensitive. "Test" und "test" werden als identisch betrachtet.

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