wie ich kann den Zellennamen einer einzelnen Zelle per VBA erzeugen ?
Vielen Dank,
Gordon
ActiveWorkbook.Names.Add Name:="Meinname", RefersTo:="=Tabelle1!$A$1"
Sub NameSetzen()
Dim z As Integer, s As Integer
z = 1 'Zeile 1
s = 5 'Spalte 5
ActiveWorkbook.Names.Add Name:="Meinname", RefersTo:="=Tabelle1!" & Cells(z, s).Address
End Sub
'Prüft, ob Bereich einen Namen hat und gibt ihn zurück (sonst""):
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
Sub Checkname()
Dim n As String
n = HatNamen(ActiveCell)
If n = "" Then
MsgBox "kein Name"
Else
MsgBox n
End If
End Sub
Gruß MatthiasUm den Zellenname in Excel per VBA zu bestimmen, kannst Du folgende Schritte befolgen:
Makro-Recorder verwenden:
Alt + F11
, um den VBA-Editor zu öffnen.Einen Zellenname hinzufügen:
ActiveWorkbook.Names.Add Name:="Meinname", RefersTo:="=Tabelle1!$A$1"
Zellenname variabel halten:
Sub NameSetzen()
Dim z As Integer, s As Integer
z = 1 'Zeile 1
s = 5 'Spalte 5
ActiveWorkbook.Names.Add Name:="Meinname", RefersTo:="=Tabelle1!" & Cells(z, s).Address
End Sub
Zellenname löschen:
ActiveWorkbook.Names("Meinname").Delete
Fehler beim Überprüfen des Zellennamens: Wenn Du versuchst, einen Zellenname zu überprüfen, und n = ""
zurückgibst, stelle sicher, dass Du die richtige Syntax verwendest:
Function HatNamen(b As Range) As String
Dim n As String
On Error Resume Next
n = ActiveWorkbook.Names(, , CStr(b.Name)).Name
If Err.Number > 0 Then
HatNamen = ""
Exit Function
Else
HatNamen = n
End If
End Function
Anwendungsfehler: Wenn Du einen Fehler wie "Anwendungs- oder objektdefinierter Fehler" erhältst, überprüfe, ob der Zellenname tatsächlich existiert und ob Du einen gültigen Bereich übergibst.
Eine weitere Möglichkeit, den Zellenname zu bestimmen, besteht darin, die Excel.Worksheet.Names
-Sammlung zu verwenden. Damit kannst Du alle definierten Namen auflisten:
Sub AlleNamenAuflisten()
Dim n As Name
For Each n In ActiveWorkbook.Names
Debug.Print n.Name & " = " & n.RefersTo
Next n
End Sub
Diese Methode kann hilfreich sein, um einen Überblick über alle Zellenamen in Deiner Arbeitsmappe zu erhalten.
Zellenname abrufen:
Sub ZellennameAbrufen()
Dim n As String
n = HatNamen(Range("A1"))
If n = "" Then
MsgBox "Kein Name"
Else
MsgBox "Der Zellenname ist: " & n
End If
End Sub
Zellenname löschen, wenn nur der Bezug bekannt ist:
Sub ZellennameLoeschen()
Dim zelle As Range
Set zelle = Range("$A$1")
Dim nameToDelete As String
nameToDelete = HatNamen(zelle)
If nameToDelete <> "" Then
ActiveWorkbook.Names(nameToDelete).Delete
MsgBox "Zellenname gelöscht: " & nameToDelete
Else
MsgBox "Kein Zellenname gefunden."
End If
End Sub
RefersTo
-Eigenschaft, um dynamische Bezüge zu erstellen. Mit Range("A" & i)
kannst Du beispielsweise auf unterschiedliche Zeilen zugreifen.excel zellenname
zu erstellen oder zu ändern.1. Wie kann ich einen Zellenname in Excel löschen? Um einen Zellenname zu löschen, verwende den Code:
ActiveWorkbook.Names("Meinname").Delete
2. Kann ich einen Zellenname mit Bezug auf eine Zelle erstellen?
Ja, das geht. Du kannst den Zellenname mit der RefersTo
-Eigenschaft und der Address
-Funktion dynamisch erstellen.
3. Wie finde ich den Zellenname einer bestimmten Zelle?
Nutze die Funktion HatNamen
, um den Zellenname einer bestimmten Zelle zu überprüfen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen