Última celda de Range rango

18/12/2006 - 18:01 por nvalencia | Informe spam
Buenas a todos, mi problema es que tengo una variable de tipo Range,
llamada codigos.
En esta variable se encuentra el rango seleccionado por el usuario,
solicitada por una macro,
Y me gustaría saber cuál es la última celda del rango.
Muchas gracias de antemano

Preguntas similare

Leer las respuestas

#1 Ivan
18/12/2006 - 19:46 | Informe spam
hola

si quieres haz una prueba, en un nuevo libro, o en una hoja vacia
selecciona un rango de celdas, vete al editor de vba (alt + F11), en un
modulo normal pega este codigo y ejecutalo (F5, p ej, o desde un boton,
o...) echa un vistazo a la hoja a ver que ha ocurrido

Sub testUltCelda()
With Selection.Cells(.Rows.Count, .Columns.Count)
.Value = .Address(0, 0)
End With
End Sub

he usado Selection porque por lo que comentas se trata del rango
seleccionado en ese momento, pero puedes sustituirlo por tu variable
'codigos'

el codigo es bastante facil de entender con la ayuda de F1

espero te sirva

un saludo
Ivan


ha escrito:

Buenas a todos, mi problema es que tengo una variable de tipo Range,
llamada codigos.
En esta variable se encuentra el rango seleccionado por el usuario,
solicitada por una macro,
Y me gustaría saber cuál es la última celda del rango.
Muchas gracias de antemano
Respuesta Responder a este mensaje
#2 Ivan
18/12/2006 - 19:48 | Informe spam
hola de nuevo, y disculpa este es el codigo para la prueba

Sub testUltCelda()
With Selection
.Cells(.Rows.Count, .Columns.Count) = _
.Cells(.Rows.Count, .Columns.Count).Address(0, 0)
End With
End Sub


hola

Ivan ha escrito:

hola

si quieres haz una prueba, en un nuevo libro, o en una hoja vacia
selecciona un rango de celdas, vete al editor de vba (alt + F11), en un
modulo normal pega este codigo y ejecutalo (F5, p ej, o desde un boton,
o...) echa un vistazo a la hoja a ver que ha ocurrido

Sub testUltCelda()
With Selection.Cells(.Rows.Count, .Columns.Count)
.Value = .Address(0, 0)
End With
End Sub

he usado Selection porque por lo que comentas se trata del rango
seleccionado en ese momento, pero puedes sustituirlo por tu variable
'codigos'

el codigo es bastante facil de entender con la ayuda de F1

espero te sirva

un saludo
Ivan


ha escrito:

> Buenas a todos, mi problema es que tengo una variable de tipo Range,
> llamada codigos.
> En esta variable se encuentra el rango seleccionado por el usuario,
> solicitada por una macro,
> Y me gustaría saber cuál es la última celda del rango.
> Muchas gracias de antemano
Respuesta Responder a este mensaje
#3 Ivan
18/12/2006 - 20:20 | Informe spam
hola

si no me equivoco podrias usar algo asi:->

1.-para obtener la ultima celda (pej para asignarle un valor)

codigos.cells(codigos.rows.count, codigos.columns.count) = x

aqui le habrias asignado el 'valor' x a la ultima celda del rango
codigos

2.- para obtener la referencia de celda (uso with para usar otro
formato)

with codigos
.cells(.rows.count, .columns.count).address(0, 0)
end with

te devuelve la referencia relativa pej : para codigos= A5:C10
devuelve --> 'C10'

3.- por ultimo, si el rango es la seleccion actual, como se desprende
de tu consulta, (creo que) podrias prescindir de la variable codigos y
usar directamente Selection ( en los ejemplos anterires te valdria con
cambiar uno por otro

un saludo y hasta pronto
Ivan



ha escrito:

Buenas a todos, mi problema es que tengo una variable de tipo Range,
llamada codigos.
En esta variable se encuentra el rango seleccionado por el usuario,
solicitada por una macro,
Y me gustaría saber cuál es la última celda del rango.
Muchas gracias de antemano
Respuesta Responder a este mensaje
#4 Ivan
18/12/2006 - 20:22 | Informe spam
hola

si no me equivoco podrias usar algo asi:->

1.-para obtener la ultima celda (pej para asignarle un valor)

codigos.cells(codigos.rows.count, codigos.columns.count) = x

aqui le habrias asignado el 'valor' x a la ultima celda del rango
codigos

2.- para obtener la referencia de celda (uso with para usar otro
formato)

with codigos
.cells(.rows.count, .columns.count).address(0, 0)
end with

te devuelve la referencia relativa pej : para codigos= A5:C10
devuelve --> 'C10'

3.- por ultimo, si el rango es la seleccion actual, como se desprende
de tu consulta, (creo que) podrias prescindir de la variable codigos y
usar directamente Selection ( en los ejemplos anterires te valdria con
cambiar uno por otro

un saludo y hasta pronto
Ivan


ha escrito:

Buenas a todos, mi problema es que tengo una variable de tipo Range,
llamada codigos.
En esta variable se encuentra el rango seleccionado por el usuario,
solicitada por una macro,
Y me gustaría saber cuál es la última celda del rango.
Muchas gracias de antemano
Respuesta Responder a este mensaje
#5 ST
18/12/2006 - 22:12 | Informe spam
ha escrito:

bajo el supuesto del comentario 3 de Ivan ,tambien podrias usar>

Sub UltimaCelda()
With Hoja1.UsedRange
MsgBox .Cells(.Cells.Count).Address (0, 0)
End With
End Sub
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida