vbasic poner el cursor en la celda siguiente

31/07/2009 - 15:40 por Macros Excel. Posicionar el cursor | Informe spam
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)
 

Leer las respuestas

#1 wallyrios
08/10/2009 - 01:09 | Informe spam
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
"David" wrote:

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ó:

> 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)
>
>

Preguntas similares