Macro al escribir un solo caracter

20/07/2007 - 15:46 por srtaele | Informe spam
Buenas tardes,

Observo que en este grupo hay gente tremendamente válida. Alucino con
muchas de las respuestas.

Necesito crear una macro que me permitiese desplazar el cursor una
celda a la derecha cuando escribo un solo caracter. Por ejemplo, si
escribo 3 en la celda A1, la siguiente celda seleccionada fuese la B1
pero sintener que darle a la tecla tabulador.

He intentado buscar respuestas similares, pero no las termino de
entender.

Muchas gracias de antemano.

Preguntas similare

Leer las respuestas

#11 Ivan
24/07/2007 - 03:01 | Informe spam
hola,

Gracias por tu interés



gracias a ti y al resto de acompañantes en el hilo, a falta de probar/
indagar, gracias a vosotros he desubierto unas cuantas cosas nuevas
que estudiar.

Lo que comentas de target.row <> 1 donde tendría que ponerlo



aunque con los eventos del libro, fuera de los basicos (Open, etc)
apenas he trabajado y no podria asegurartelo, por lo que he estado
mirando ahora mismo creo que podrias ponerlo al principio del evento
SheetSelectionChange.

lo unico ten en cuenta que la instruccion 'If Target.Row <> 1 Then
Exit Sub' lo que hace es salir del procedimiento (y por consiguiente
que no se ejecute ningun codigo que vaya tras ella) si la fila
seleccionada no es la 1. de acuerdo a lo que comentabas en tu anterior
mensaje:

> > ahora el problema que se me plantea es que no sé como delimitar la
> > inserción de datos solo a la primera fila.



si por 1ª fila no te refieres a la fila 1 de la hoja cambia el 1 por
el numero de la fila (respecto a la hoja) que sea.

tambien podrias hacer lo contrario, es decir, en vez de salir del
procedimiento, condicionar la ejecucion del codigo a que se este en la
fila correspondiente, pej asi:

If Target.Row = tu_nº_fila Then
' aqui iria el codigo
End If

bueno, no estoy seguro del todo (los eventos, muchas veces, funcionan
con 'razones que mi razon no entiende') pero en mis pruebas si parece
funcionar. Por cierto, aunque a lo mejor ya lo estas haciendo, (creo
que) en dicho evento tambien deberias asegurarte de 'delimitar' la
ejecucion del codigo a la hoja adecuada mediante el argumento 'Sh',
pej. haciendo algo similar a la fila:

If sh.Name = nombre_de_la_hoja And Target.Row = tu_Fila then
' aqui el codigo
End If

a ver si hay suerte, y si sigues sin conseguirlo si quieres copia/pega
todo el codigo del evento SheetSelectionChange ppara que le echemos un
ojo. Si yo no se, seguro que alguien si y te lo soluciona.

un saludo
Ivan
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida