Vba names add name refers to

Intento crear un árbol no binario en excel con la vba, he conseguido lo siguiente:

 ActiveWorkbook.Names.Add Name:="range(".....").value, RefersTo:="=Hoja6!a1:b1"

El problema es que eh buscado muchas formas de hacer dinámico el rango para ingresar el nombre es decir, pudo ser, ... Refers to:="hojan!range("a1:a2"). Values, esto con el fin de extraer los valores en el rango y crear el nombre en esos valores PERO depura mal, también probé:

ActiveSheet.Range("m67").Select
ActiveWorkbook.Names.Add Name:=Range("m49").Value, RefersTo:=Selection.Value

Y aunque depura bueno no consigue el objetivo porque el nombre queda creado con referencia entre corchetes y direcciones entre comillas y de esta manera no identifica el rango de nombre . Claramente el contratiempo esta en la creación de una" referencia a" dinámica, donde uso la dirección que contiene valores para remitirme a la dirección, al rango donde se crea el nombre, asi puedo cambiar los valores en las celdas a mi antojo y crear nombres donde se me venga en gana, bueno, si alguien tiene una solución a esto estaría muy agradecido

1 Respuesta

Respuesta
2

Eh logrado resolverlo usando el formato r1c1 haciendo lo siguiente

Dim F As Integer

 F = Range("a3").Value

Range("a1").Select
ActiveWorkbook.Names.Add Name:=Range("m99").Value, RefersToR1C1:="=Hoja6!R" & F & "C4:R4C4"

Claro esta, el nombre se asignara en el rango dinámico que depende de la variable F, claro, debes completar a tu necesidad haciendo analogía.

RECUERDA: A partir de la celda seleccionada r1c1 desplaza o mueve según la variable F, es decir si el valor de la celda a3 = 3 entonces F=3 y aplicación rfertor1c1 contara a partir de a1 "que es la selección" 3 Rows (filas) a la derecha, completando la sentencia el rango quedara nombrado (m99) en el rango d3:d4 que es igual a r3c4:r4c4

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas