Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

vbasic poner el cursor en la celda siguiente

1,628 views
Skip to first unread message

Excel. Posicionar el cursor@discussions.microsoft.com Macros Excel. Posicionar el cursor

unread,
Jul 31, 2009, 9:40:01 AM7/31/09
to
Estoy haciendo macros de excel y necesito poner el cursor en la celda
siguiente a la última celda no vacia de una planilla de calculo. Algo asi:
Range("A1").Select
Selection.End(xlDown).Select
Next cell.Select ......(NO FUNCIONA)
Range(Selection.End(xlDown)+1).Selecct.......(no funciona)


Juan M

unread,
Jul 31, 2009, 10:09:04 AM7/31/09
to

"Macros Excel. Posicionar el cursor" escribi�

> Estoy haciendo macros de excel y necesito poner el cursor en la celda
> siguiente a la �ltima celda no vacia de una planilla de calculo. Algo asi:

> Range("A1").Select
> Selection.End(xlDown).Select
> Next cell.Select ......(NO FUNCIONA)
> Range(Selection.End(xlDown)+1).Selecct.......(no funciona)
>
>

Hola,
Prueba con la siguiente instrucci�n

range("A1").End(xlDown).Offset(1).Select

Un saludo,
Juan


David

unread,
Jul 31, 2009, 10:16:01 AM7/31/09
to
Hola ...

te podría sugerir tres posibles formas, cada una con sus pro y sus contras,
para que elijas la que mejor funcione en tu caso:

1.
Range("A1").End(xlDown).Offset(1,0).Select
Es el método que estás intentado implementar. Observa que lo que te hacía
falta, era utilizar el método Offset.
Este comando puede fallar si en la columna A tienes alguna celda en blanco
dentro de tu listado.

2.
Range("B" & rows.Count).End(xlUp).Offset(1,0).Select
Si tienes una columna en la que nunca vas a dejar celdas en blanco
(supongamos la columna B), podrías utilizar esta instrucción. Aquí el
desplazamiento se hace al revés: desde la última fila de la hoja hasta la
primera no vacía en esa columna, luego el método Offset hace el
desplazamiento hacia la siguiente.

3.
Cells(Range("A1").currentregion.Rows.count,1).offset(1,0).select
Si no puedes asegurar que no habrán celdas vacías en ninguna de tus
columnas, esta última opción selecciona tu lista como una región, cuenta el
número de filas y se desplaza hasta la siguiente de la última encontrada.
Aquí estoy suponiendo que tu listado principia en la celda A1. Si, por
ejemplo, tu listado principiara en la celda B8, la instucción sería:
Cells(Range("A1").currentregion.Rows.count+7,1).offset(1,0).select

No olvides comentar los resultados, saludos...

- - - - - -


"Macros Excel. Posicionar el cursor" escribió:

wallyrios

unread,
Oct 7, 2009, 7:09:04 PM10/7/09
to
Hay una forma para evitar todos estos pasos, si es que se tiene una pantalla
de carga de datos y si se tiene una macro para grabar los datos en una hoja
que hace las veces de BASE DE DATOS. basta con colocar un asterisco * al
final en la columna que contiene el primer dato que sera llevado a la base de
datos, de donde que cuando se hace via macro que copie los datos en la base,
tiene que ir a la primera hacer enddown con la flcha hacia abajo, luego
pegar, luego esc, que grabe y que retorne a la pantalla de carga. Como
resultado sera que ha dejado un asterisco al final del archibo de la base de
datos y la siguiente vez buscara el final del archivo y se posara exactamente
sobre el asterisco y asi sucesivamente.

Wallyrios

0 new messages