Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

VBA-Begriff: Names-Auflistungsobjekt

Eine Auflistung aller Name-Objekte in der Anwendung oder Arbeitsmappe. Jedes Name-Objekt stellt einen festgelegten Namen für einen Zellbereich dar. Namen können integriert (z. B. Datenbank, Druckbereich und Auto_öffnen) oder benutzerdefiniert sein.

Verwenden der Names-Auflistung

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

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 zur Auflistung hinzuzufügen. Im folgenden Beispiel wird ein neuer Name erstellt, der sich auf den Zellbereich A1:C20 im Tabellenblatt mit dem Namen "Tabelle1" bezieht.

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

Das RefersTo-Argument 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".

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

ActiveWorkbook.Names("mySortRange").Delete