Clase Name (Excel VBA)

La clase Name representa un nombre definido para un rango de celdas.

Los principales procedimientos de la clase Name son Delete y Names.Add

Set

Para usar una variable de clase Name, primero debe ser instanciado, por ejemplo

Dim nam as Name
Set nam = ActiveWorkbook.Names(Index:=1)

Los siguientes procedimientos se pueden usar para establecer variables de clase Name : Names.Item, Names.Add, Application.Names, Workbook.Names y Worksheet.Names

For Each

A continuación, se muestra un ejemplo de cómo procesar los elementos Name en una colección.

Set newSheet = Worksheets.Add 
i = 1 
For Each nm In ActiveWorkbook.Names 
 newSheet.Cells(i, 1).Value = nm.Name 
 newSheet.Cells(i, 2).Value = "'" & nm.RefersTo 
 i = i + 1 
Next 
newSheet.Columns("A:B").AutoFit

Métodos

Los principales métodos de la clase Name son

Delete - Elimina el objeto.

ActiveWorkbook.Names(1).Delete

Names.Add - Define un nombre nuevo para un rango de celdas.

Dim nam As Name
Set nam = ActiveWorkbook.Names.Add

Otros Métodos

Names.Item - Devuelve un único objeto Name de una colección names .

Propiedades

Category Devuelve o establece la categoría del nombre especificado en el lenguaje de la macro.

ActiveWorkbook.Names(1).Category =

CategoryLocal Devuelve o establece la categoría del nombre especificado, en el lenguaje del usuario, si el nombre hace referencia a una función o un comando personalizado.

ActiveWorkbook.Names(1).CategoryLocal =

Comment Devuelve o establece el comentario asociado con el nombre.

ActiveWorkbook.Names(1).Comment =

Index Devuelve un valor de tipo Long que representa el número de índice del objeto dentro de una colección de objetos similares.

Dim lngIndex As Long
lngIndex = ActiveWorkbook.Names(1).Index

MacroType Devuelve o establece el objeto al que hace referencia el nombre.

ActiveWorkbook.Names(1).MacroType = xlCommand

Name Devuelve o establece un valor de tipo String que representa el nombre del objeto.

ActiveWorkbook.Names(1).Name =

NameLocal Devuelve o establece el nombre del objeto en el idioma del usuario.

ActiveWorkbook.Names(1).NameLocal =

Parent Devuelve el objeto primario del objeto especificado.

Dim objParent As Object
Set objParent = ActiveWorkbook.Names(1).Parent

RefersTo Devuelve o establece la fórmula a la que debe hacer referencia el nombre, en la notación de estilo A1 y el lenguaje de la macro, comenzando con un signo igual.

ActiveWorkbook.Names(1).RefersTo =

RefersToLocal Devuelve o establece la fórmula a la que hace referencia el nombre.

ActiveWorkbook.Names(1).RefersToLocal =

RefersToR1C1 Devuelve o establece la fórmula a la que hace referencia el nombre.

ActiveWorkbook.Names(1).RefersToR1C1 =

RefersToR1C1Local Devuelve o establece la fórmula a la que hace referencia el nombre.

ActiveWorkbook.Names(1).RefersToR1C1Local =

RefersToRange Devuelve el objeto Range al que hace referencia un objeto Name .

Dim rngRefersToRange As Range
Set rngRefersToRange = ActiveWorkbook.Names(1).RefersToRange

ShortcutKey Devuelve o establece la tecla de método abreviado de un nombre definido como un comando de macro personalizado de Microsoft Excel versión 4.

ActiveWorkbook.Names(1).ShortcutKey = "K"

ValidWorkbookParameter Devuelve True si el objeto Name especificado es un parámetro de libro válido.

Dim booValidWorkbookParameter As Boolean
booValidWorkbookParameter = ActiveWorkbook.Names(1).ValidWorkbookParameter

Value Devuelve o establece un valor de tipo String que representa la fórmula a la que debe hacer referencia el nombre.

ActiveWorkbook.Names(1).Value =

Visible Devuelve o establece un valor Boolean que determina si el objeto es visible.

ActiveWorkbook.Names(1).Visible = True

WorkbookParameter Devuelve o establece el objeto Name especificado como un parámetro de libro.

ActiveWorkbook.Names(1).WorkbookParameter = True

Names.Count Devuelve un valor Long que representa el número de objetos de la colección.

Dim lngCount As Long
lngCount = ActiveWorkbook.Names.Count

Names.Parent Devuelve el objeto primario del objeto especificado.

Dim objParent As Object
Set objParent = ActiveWorkbook.Names.Parent