Saltar al contenido

Poner a cada rango un nombre especifico


Recommended Posts

publicado

Buenas tardes

Saludos mi consulta es la siguiente.

Quisiera hacer una macro para que digamos ponga a cada rango el nombre especificado de a1, b1 etc.

Pero si digamos hubieses nuevos datos después de haber puesto el nombre al ejecutar la macro me borre los nombres actuales y me actualice con los nuevos.

Ej. si en a13 no hay datos el rango de (nombre2) seria de a2:a12, pero si mas adelante le pusiera mas datos hasta a17 el nuevo rango seria de a2:a17.

gracias por la ayuda.

subo archivo.

nombres.rar

publicado

Gracias Raúl, pero que pena no haberme explicado bien, no es poner el nombre del rango a la primera fila sino a ese rango (a2:a11) ponerle el nombre de la primera fila a este rango. Por medio de administrar nombres, para que lo tome como rango. Gracias por tu ayuda.

ActiveWorkbook.Names.Add Name:="nombres1", RefersToR1C1:= _

"=nombres!R2C1:R12C1"

publicado

Si creas una tabla??? Inicio, Dar Formato como a Tabla. En Herramientas de Tabla, A la izquierda (la primera opción) le pones un nombre. No importa si agregas filas o columnas, el nombre de tabla se adecuará. Las tablas existen a partir de Excel 2007

publicado

Amigo gracias por tu tiempo serias tan amable de explicar línea por línea para entender un poco mejor que es lo que hace.

De igual manera modifique esta línea, para que sin importar la cantidad de columnas funcione, sin importar sin son menor o mayor que 15.

[xfd1].Select
Selection.End(xlToLeft).Select
col = ActiveCell.Column[/CODE]

[CODE]Sub AgregaRangos()
Sheet1.Activate
[xfd1].Select
Selection.End(xlToLeft).Select
col = ActiveCell.Column
[a1].Select
TTT = Range(ActiveCell.Address).Column
Do While Range(ActiveCell.Address).Column < col + 1 '15
If ActiveCell <> Empty Then
CCC = Split(ActiveCell.Address, "$")(1)
Range(CCC & "1").End(xlDown).Offset(1, 0).Select
RRR = Range(ActiveCell.Address).Row - 1
ActiveWorkbook.Names.Add Name:=Range(CCC & "1"), RefersToR1C1:=Range(CCC & "2:" & CCC & RRR)
Range(CCC & "1").Select
ActiveCell.Offset(0, 1).Activate
Else
ActiveCell.Offset(0, 1).Activate
End If
Loop
[a1].Select
End Sub[/CODE]

Lo unico seria que cuando ya esten creados, los borre y vuelva hacer uno nuevo.

eneste paso estoy trancado, garadezco tu colaboracion.

publicado

Vaya!! No hace falta tanto código! Lo más sencillo es que trabajes con una tabla. Excel automáticamente cambiará las dimensiones del rango al cuál hace mención esa tabla para que se adecúe al cuadro de datos.

Pero si insisten en querer que el nombre de redimensione solo, el código es pequeño y funciona sin importar la cantidad de filas o columnas del cuadro!

    
With Worksheets("Hoja1")
.Names("PRUEBA").RefersTo = .Range("PRUEBA").CurrentRegion
.Range("Prueba").Select
End With[/CODE]

publicado

FalexRamos:

Agrega este codigo en la parte superior del Codigo para eliminar los Nombres de Rango existentes.

Sub AgregaRangos()

Sheet1.Activate

For Each Name In ActiveWorkbook.Names

Name.Delete

Next

....

.....

Saludos

publicado
FalexRamos:

Agrega este codigo en la parte superior del Codigo para eliminar los Nombres de Rango existentes.

Sub AgregaRangos()

Sheet1.Activate

For Each Name In ActiveWorkbook.Names

Name.Delete

Next

....

.....

Saludos

Gracias funciona perfecto para quitar los nombres creados.

________________________________________________________///////_____________________________________________________________

Vaya!! No hace falta tanto código! Lo más sencillo es que trabajes con una tabla. Excel automáticamente cambiará las dimensiones del rango al cuál hace mención esa tabla para que se adecúe al cuadro de datos.

Pero si insisten en querer que el nombre de redimensione solo, el código es pequeño y funciona sin importar la cantidad de filas o columnas del cuadro!

    
With Worksheets("Hoja1")
.Names("PRUEBA").RefersTo = .Range("PRUEBA").CurrentRegion
.Range("Prueba").Select
End With[/CODE]

DiegoPC, con respecto a esto, puedes subir un ejemplo este código que indicas no se en donde ponerlo o como funciona, gracias por tu ayuda.

Subo archivo.

Nombres funciona final.rar

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.