Names-Objekt (Excel)

Eine Auflistung aller Name-Objekte in der Anwendung oder Arbeitsmappe.

HinwBemerkungeneise

Jedes Name-Objekt stellt einen definierten Namen für einen Zellbereich dar. Namen können integriert (z. B. Datenbank, Druckbereich und Auto_öffnen) oder benutzerdefiniert sein.

Das Argument RefersTo muss in der A1-Schreibweise einschließlich eines Dollarzeichens ($) angegeben werden, sofern dies erforderlich ist. Wenn beispielsweise in Tabelle1 die Zelle A10 markiert ist und Sie mit dem RefersTo-Argument "=Tabelle1!A1:B1" einen Namen definieren, bezieht sich der neue Name auf den Zellbereich A10:B10 (da Sie einen relativen Bezug angegeben haben). Um einen absoluten Bezug anzugeben, verwenden Sie "=Tabelle1!$A$1:$B$1".

Beispiel

Verwenden Sie die Names-Eigenschaft des Workbook-Objekts , um die Names-Auflistung zurückzugeben. Im folgenden Beispiel wird eine Liste aller Namen in der aktiven Arbeitsmappe sowie die Adressen erstellt, auf die sie verweisen.

Set nms = ActiveWorkbook.Names 
Set wks = Worksheets(1) 
For r = 1 To nms.Count 
    wks.Cells(r, 2).Value = nms(r).Name 
    wks.Cells(r, 3).Value = nms(r).RefersToRange.Address 
Next

Verwenden Sie die Add-Methode , um einen Namen zu erstellen und der Auflistung hinzuzufügen. Im folgenden Beispiel wird ein neuer Name erstellt, der auf die Zellen A1:C20 auf dem Arbeitsblatt mit dem Namen Sheet1 verweist.

Names.Add Name:="test", RefersTo:="=sheet1!$a$1:$c$20"

Verwenden Sie Names (Index), wobei index die Indexnummer oder der definierte Name ist, um ein einzelnes Name-Objekt zurückzugeben. Im folgenden Beispiel wird der Name mySortRange aus der aktiven Arbeitsmappe gelöscht.

ActiveWorkbook.Names("mySortRange").Delete

In diesem Beispiel wird ein benannter Bereich als Formel für die Datenüberprüfung verwendet. Das Beispiel erfordert die Überprüfungsdaten in Tabelle2 im Bereich A2:A100. Diese Validierungsdaten werden verwendet, um daten zu überprüfen, die in Sheet1 im Bereich D2:D10 eingegeben wurden.

Sub Add_Data_Validation_From_Other_Worksheet()
'The current Excel workbook and worksheet, a range to define the data to be validated, and the target range
'to place the data in.
Dim wbBook As Workbook
Dim wsTarget As Worksheet
Dim wsSource As Worksheet
Dim rnTarget As Range
Dim rnSource As Range

'Initialize the Excel objects and delete any artifacts from the last time the macro was run.
Set wbBook = ThisWorkbook
With wbBook
    Set wsSource = .Worksheets("Sheet2")
    Set wsTarget = .Worksheets("Sheet1")
    On Error Resume Next
    .Names("Source").Delete
    On Error GoTo 0
End With

'On the source worksheet, create a range in column A of up to 98 cells long, and name it "Source".
With wsSource
    .Range(.Range("A2"), .Range("A100").End(xlUp)).Name = "Source"
End With

'On the target worksheet, create a range 8 cells long in column D.
Set rnTarget = wsTarget.Range("D2:D10")

'Clear out any artifacts from previous macro runs, then set up the target range with the validation data.
With rnTarget
    .ClearContents
    With .Validation
        .Delete
        .Add Type:=xlValidateList, _
             AlertStyle:=xlValidAlertStop, _
             Formula1:="=Source"
        
'Set up the Error dialog with the appropriate title and message
        .ErrorTitle = "Value Error"
        .ErrorMessage = "You can only choose from the list."
    End With
End With

End Sub

Methoden

Eigenschaften

Siehe auch

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.