AYUDA : Seleccionar rango activo..

14/02/2006 - 16:01 por adicto | Informe spam
Hola amigos

Queria pedirles ayuda con lo siguiente..

Necesito seleccionar con un comando VBA el rango total ocupado en una hoja, o sea, ir a la ultima celda ocupada y seleccionar desde A1 hasta dicha celda.

De antemano, muchas gracias..

adicto

Ver este tema: http://www.softwaremix.net/viewtopic-485771.htm

Enviado desde http://www.softwaremix.net

Preguntas similare

Leer las respuestas

#1 Cristian
14/02/2006 - 20:41 | Informe spam
hola, usa esto:


[a1].currentregion.select


Saludos, CRISTIAN


"adicto" escribió en el mensaje
news:
|
| Hola amigos :
|
| Queria pedirles ayuda con lo siguiente...
|
| Necesito seleccionar con un comando VBA el rango total ocupado en una
hoja, o sea, ir a la ultima celda ocupada y seleccionar desde A1 hasta dicha
celda..
|
| De antemano, muchas gracias...
|
|
| --
| adicto
|
|
| Ver este tema: http://www.softwaremix.net/viewtopic-485771.html
|
| Enviado desde http://www.softwaremix.net
|
|
Respuesta Responder a este mensaje
#2 KL
14/02/2006 - 21:35 | Informe spam
Hola chicos,

Algunos comentarios:

1) La propiedad solo selecciona celdas adyacentes, por lo cual si hay columnas o filas completamnte vacias no se seleccionara
correctamente el rango ocupado de la hoja.

2) La propiedad UsedRange no tiene el problema anterior, pero considera rango usado cualquier celda que tenga datos o/y formatos.
Ademas, la propiedad UsedRange no se actualiza correctamente al eliminar filas de abajo. Yo diria que esta propiedad es buena en
listas o bases de datos donde no se usan formatos y no se borran filas manualmente.

3) La mejor funcion para encontrar la ultima celda usada de una hoja que he visto hasta la fecha es la siguiente (desgraciadamente
deconozco la autoria del codigo):

Public Function LastCell(Optional ws As Worksheet) As Range
If ws Is Nothing Then Set ws = ActiveSheet
Set rng = ws.Cells
Set LastCell = rng(1)
On Error Resume Next
Set LastCell = Intersect( _
rng.Find("*", rng(1), xlValues, xlWhole, xlByRows, _
xlPrevious).EntireRow, _
rng.Find("*", rng(1), xlValues, xlWhole, xlByColumns, _
xlPrevious).EntireColumn)
End Function

se podria usar de la siguiente manera:

Sub Test()
Dim rng As Range
With Sheets("Hoja1")
Set rng = .Range(.[A1], LastCell(Sheets("Hoja1"))
End With
MsgBox rng.Address
End Sub


Saludos,
KL


"Cristian" wrote in message news:
hola, usa esto:


[a1].currentregion.select


Saludos, CRISTIAN


"adicto" escribió en el mensaje
news:
|
| Hola amigos :
|
| Queria pedirles ayuda con lo siguiente...
|
| Necesito seleccionar con un comando VBA el rango total ocupado en una
hoja, o sea, ir a la ultima celda ocupada y seleccionar desde A1 hasta dicha
celda..
|
| De antemano, muchas gracias...
|
|
| --
| adicto
|
|
| Ver este tema: http://www.softwaremix.net/viewtopic-485771.html
|
| Enviado desde http://www.softwaremix.net
|
|


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida