Macro para asignar nombres a valor

Quisiera la ayuda de uds para lograr una macro que me asigne a un conjunto de valor dados en columna, y que el nombre sea creado según un item dado. Me explic

A1: item 1     B1: 30 C1: 40 D1:Y

A2: item 2      B2:45 C2:K  D2:9

A....          ..........

Lo que necesito es una macro que me asigne el nombre de item 1 al conjunto de datos en B1, C1, D1.

Que asigne el nombre de item 2 al conjunto de datos en B2, C2, D2.

El numero de filas no siempre es el mismo, aunque los datos están en tabla. Y las columnas tienen un rango fijo desde B hasta F

1 respuesta

Respuesta
1

H o l a:

Te anexo la macro

Sub CrearNombres()
'Por.Dante Amor
    For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
        nombre = Cells(i, "A")
        ActiveWorkbook.Names.Add Name:=nombre, _
            RefersTo:="='" & ActiveSheet.Name & "'!" & Range("B" & i & ":D" & i).Address
    Next
End Sub

No entendí si quieres los nombres de B a D o de B a F, en tal caso para que funcione de B a F:

Sub CrearNombres()
'Por.Dante Amor
    For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
        nombre = Cells(i, "A")
        ActiveWorkbook.Names.Add Name:=nombre, _
            RefersTo:="='" & ActiveSheet.Name & "'!" & Range("B" & i & ":F" & i).Address
    Next
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

¡Gracias!

Amigo, tu salvándome de nuevo. Muchas gracias por compartir tu conocimiento.

Bendiciones, perfecto.

Una pregunta, si quisiera que mi columna del nombre no fuese la A, sino la B por ejemplo. puedo hacer lo siguiente?

Sub CrearNombres()
'Por.Dante Amor
Sheets("Hoja3").Select
For i = 1 To Range("B" & Rows.Count).End(xlUp).Row
nombre = Cells(i, "B")
ActiveWorkbook.Names.Add Name:=nombre, _
RefersTo:="='" & ActiveSheet.Name & "'!" & Range("D" & i & ":F" & i).Address
Next
End Sub

Gracias

Sí es correcto.

Prueba para ver si te funciona.

Sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas