Foros del Web » Soporte técnico » Ofimática »

Excel - Macro para nombrar un rango

Estas en el tema de Excel - Macro para nombrar un rango en el foro de Ofimática en Foros del Web. Hola. Apenas he utilizado macros en Excel y sé muy poco del tema. No obstante, he utilizado algunas veces lo de grabar macros y sé ...
  #1 (permalink)  
Antiguo 30/06/2006, 00:53
 
Fecha de Ingreso: junio-2006
Mensajes: 4
Antigüedad: 17 años, 9 meses
Puntos: 0
Excel - Macro para nombrar un rango

Hola. Apenas he utilizado macros en Excel y sé muy poco del tema. No obstante, he utilizado algunas veces lo de grabar macros y sé que es bastante efectivo. Tengo que realizar ahora unas cosas bastante repetitivas, así que me he planteado realizar una macro. Hasta aquí bien.

Realizo la selección de un rango e intento nombrarlo. Utilizo estas instrucciones de VBA:

ActiveCell.Offset(0, 0).Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
ActiveWorkbook.Names.Add Name:="Rango2", RefersToR1C1:= _
"=Prueba_200606_T!R1C1:R883C11"

El rango no es siempre igual en filas, es decir que puede tener tanto 1.000 filas como 800 como 30.000. En cuanto a columnas son siempre las mismas. El problema es que no sé que hay que definir en VBA para no poner un rango fijo, es decir, que me coja las filas que realmente existen (y que selecciono en la 2ª y 3ª instrucción), ya que el poner R883C11 me coge solo 883 filas.

¿Alguien me podría echar una mano?

Gracias y un saludo
  #2 (permalink)  
Antiguo 18/07/2006, 10:36
 
Fecha de Ingreso: julio-2006
Mensajes: 1
Antigüedad: 17 años, 9 meses
Puntos: 0
Hola espero que esto te pueda alludar, pues yo tenia el mismo problema
mira lo que tienes que hacer es:
1 dimensionar 2 variables de tipo integer puede ser f1,c1. para fila y columna
2.dimensionar una de tipo string en este caso puede ser rango
3. seleccionar la celda inicial de donde va a empezar tu rango ejemplo 1,1
4.seleccionar todo hacia la derecha y abajo de la celda inicial
ahi va el codigo:
Dim f1, c1 As Integer
Dim rango As String
Hoja1.Cells(1, 1).Select
c1 = Range(Selection, Selection.End(xlDown)).Count
f1 = Range(Selection, Selection.End(xlToRight)).Count
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
rang = "=hoja1!R1C1:R" & c1 & "C" & f1---aqui van las variab del nuev rango
ActiveWorkbook.Names("total").Delete----asi llame mi rango
ActiveWorkbook.Names.Add Name:="total", RefersToR1C1:=rango
espero que te funcione, pues a mi me funciono
  #3 (permalink)  
Antiguo 18/07/2006, 12:29
 
Fecha de Ingreso: junio-2006
Mensajes: 4
Antigüedad: 17 años, 9 meses
Puntos: 0
gracias, intentaré probarlo mañana

un saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:09.