Lanzar eventos sobre celdas

07/11/2005 - 05:18 por Alejandro Garrammone | Informe spam
Hola Grupo! Les cuento mi problema:
Necesitaria lanzar un evento al presionar [Enter] sobre una celda.
Por ejemplo, estoy 'parado' sobre la celda A1 e ingreso el número '100', al
presionar [enter] quiero que se ingrese el número en la celda y que el
'cursor' no vaya a la celda 'A2', sino que quiero que se pare en la celda
'C8'.
Es posible hacer esto?

Gracias por todo,

Alejandro.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
07/11/2005 - 07:54 | Informe spam
hola, Alejandro !

... lanzar un evento al presionar [Enter] sobre una celda.
... ejemplo, estoy 'parado' sobre la celda A1 e ingreso el numero '100'
al presionar [enter] quiero que se ingrese el numero en la celda
y que el 'cursor' no vaya a la celda 'A2', sino que quiero que se pare en la celda 'C8'.
Es posible hacer esto?



1) si tu cursor 'se mueve' una celda hacia abajo luego de 'editar' una celda...
es porque le tienes establecido a la aplicacion que 'asi lo haga' :))
[menu] herramientas / opciones / [ficha] modificar -> [seccion] 'mover seleccion despues de entrar'
y es una caracteristica 'opcional' para cada configuracion/usuario/pc/...

2) si 'des-habilitas' esa caracteristica... seria suficiente con copiar las siguientes lineas...
en el modulo de codigo de 'esa' hoja ==Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" And Not IsEmpty(Target) Then Range("c8").Select
End Sub

3) si deseas 'conservar' en uso la caracteristica de 'mover seleccion despues de entrar'...
va a ser necesario 'controlar' otro tipo de 'eventualidades' :))

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Alejandro Garrammone
07/11/2005 - 21:27 | Informe spam
Hola Héctor!, bueno, inicialmente lo que me has pasado es buenísimo!. ahora
bien, te cuento un poquito más a ver qué te parece.
La idea es que una persona (que no tiene idea de excel) a medida que va
ingresando datos (o deje la celda en 'blanco') y presione el 'enter' lo guie
hasta la siguiente celda a completar (que puede o no estar a continuacion),
qué deberia modificar para lograr esto?,

Mil Gracias,

Alejandro.

"Héctor Miguel" escribió en el mensaje
news:uR%
hola, Alejandro !

... lanzar un evento al presionar [Enter] sobre una celda.
... ejemplo, estoy 'parado' sobre la celda A1 e ingreso el numero '100'
al presionar [enter] quiero que se ingrese el numero en la celda
y que el 'cursor' no vaya a la celda 'A2', sino que quiero que se pare en
la celda 'C8'.
Es posible hacer esto?



1) si tu cursor 'se mueve' una celda hacia abajo luego de 'editar' una
celda...
es porque le tienes establecido a la aplicacion que 'asi lo haga'
:))
[menu] herramientas / opciones / [ficha] modificar -> [seccion] 'mover
seleccion despues de entrar'
y es una caracteristica 'opcional' para cada
configuracion/usuario/pc/...

2) si 'des-habilitas' esa caracteristica... seria suficiente con copiar
las siguientes lineas...
en el modulo de codigo de 'esa' hoja ==> Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
Range("c8").Select
End Sub

3) si deseas 'conservar' en uso la caracteristica de 'mover seleccion
despues de entrar'...
va a ser necesario 'controlar' otro tipo de 'eventualidades' :))

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

Respuesta Responder a este mensaje
#3 Héctor Miguel
08/11/2005 - 03:18 | Informe spam
hola, Alejandro !

La idea es que una persona (que no tiene idea de excel) a medida que va ingresando datos (o deje la celda en 'blanco')
y presione el 'enter' lo guie hasta la siguiente celda a completar (que puede o no estar a continuacion), que deberia modificar para lograr esto?



-> lo que solicitas, 'depende' -totalmente- de cual seria la 'secuencia deseada' para 'dirigir' las acciones del usuario -?-
asi como 'el orden' en que 'debiera' completarse el 'tour', y si existen celdas que 'puedan' quedar en blanco o no -?-
y otra serie de 'factores y eventualidades' que habria que [solo tratar de] 'controlar' [como el 'mover seleccion despues de...']

-> una -posible- alternativa es proteger la hoja [incluso sin clave] y que el usuario selecciona 'la siguiente' celda con {Tab}
[incluso a partir de la version XP puedes 'impedir' que el usuario seleccione celdas 'bloqueadas'] :))

-> si quieres 'incursionar' en el manejo de los eventos de una hoja, [p.e.]...
cuando un usuario pulsa 'enter' [aun sin cambiar la seleccion de la celda activa] se dispara el evento '_selectionchange'
-> este evento NO se dispara si la seleccion es de varias celdas <= OJO
cuando un usuario modifica un dato en cualquier celda, se dispara el evento '_change'

-> hay bastante 'tela de donde cortar'... pero no alcanzo a apreciar tus intenciones 'reales' -?-

comentas [si hubiera] detalles adicionales ?
saludos,
hector.
Respuesta Responder a este mensaje
#4 Alejandro Garrammone
08/11/2005 - 05:28 | Informe spam
Hola Héctor!
Contestando a tu pregunta la idea es la siguiente. Si completas un
formulario en la web, a medida que vas completando los datos, vas
presionando el 'tab' y avanzas al siguiente campo...buenolo que intento
hacer es lo mismo pero con una planilla de excel, solo que en vez de
utilizar el tab, utilizaría el 'enter'.
Entonces por ejemplo si el 'tour' es por las celdas A2, C4, B6, R4 y E5,
cuando me coloco sobre la celda A2 y le doy un valor o bien presiono el
enter, el cursor deberia situarse en la celda C4 y así siguiendo hasta
llegar a la celda E5.
Espero que comprendas lo que necesitaría, de todas formas me voy poner a
leer sobre el comando selectionchange.

Muchas gracias por todo,

Alejandro

"Héctor Miguel" escribió en el mensaje
news:%
hola, Alejandro !

La idea es que una persona (que no tiene idea de excel) a medida que va
ingresando datos (o deje la celda en 'blanco')
y presione el 'enter' lo guie hasta la siguiente celda a completar (que
puede o no estar a continuacion), que deberia modificar para lograr esto?



-> lo que solicitas, 'depende' -totalmente- de cual seria la 'secuencia
deseada' para 'dirigir' las acciones del usuario -?-
asi como 'el orden' en que 'debiera' completarse el 'tour', y si
existen celdas que 'puedan' quedar en blanco o no -?-
y otra serie de 'factores y eventualidades' que habria que [solo tratar
de] 'controlar' [como el 'mover seleccion despues de...']

-> una -posible- alternativa es proteger la hoja [incluso sin clave] y que
el usuario selecciona 'la siguiente' celda con {Tab}
[incluso a partir de la version XP puedes 'impedir' que el usuario
seleccione celdas 'bloqueadas'] :))

-> si quieres 'incursionar' en el manejo de los eventos de una hoja,
[p.e.]...
cuando un usuario pulsa 'enter' [aun sin cambiar la seleccion de la
celda activa] se dispara el evento '_selectionchange'
-> este evento NO se dispara si la seleccion es de varias celdas <= OJO
cuando un usuario modifica un dato en cualquier celda, se dispara el
evento '_change'

-> hay bastante 'tela de donde cortar'... pero no alcanzo a apreciar tus
intenciones 'reales' -?-

comentas [si hubiera] detalles adicionales ?
saludos,
hector.

Respuesta Responder a este mensaje
#5 Héctor Miguel
08/11/2005 - 07:03 | Informe spam
hola, Alejandro !

... un formulario en la web... presionando el 'tab'... avanzas al siguiente campo
... intento... lo mismo... con una planilla de excel, solo que... utilizaria el 'enter'
... si el 'tour' es por las celdas A2, C4, B6, R4 y E5
... sobre la celda A2... le doy un valor o... presiono el enter
... el cursor deberia situarse en la celda C4 y asi... hasta llegar a la celda E5
Espero que comprendas lo que necesitaria [...]



[creo que si comprendo lo que necesitas :))... solo que como te comentaba anteriormente]...
existen otras 'eventualidades' que se necesita 'contemplar' para 'manejar el tour' que pretendes [p.e.]...

1) [p.e. 'estando' en la celda 'A2']...
si el usuario simplemente pulsa {enter} [sin modificar el contenido de 'A2']...
el evento [_selectionchange] 'detecta' como la 'siguiente celda'...
a) la misma celda ['A2'] si el usuario NO utiliza la carcteristica de 'mover seleccion despues de entrar'
b) la celda 'A3' si el usuario SI utiliza dicha carcteristica ->con la direccion de 'hacia abajo'<-
c) la celda 'B2' si el usuario SI utiliza dicha carcteristica ->con la direccion de 'hacia la derecha'<- [y asi...]
[en resumen]... el evento [_selectionchange] NO es el 'mejor evento' para 'controlar' dicho 'tour' :-((

2) en los formularios por la web, al pulsar {mayus}+{tab}... 'regresas' al campo anterior...
necesitarias dicha 'funcionaidad' con el {enter} en tu planilla ???

3) excel cuenta con varias teclas y combinaciones, cuya 'funcionalidad integrada' es una 'cierta navegacion' [rangos/hojas/libros]
combinando 'estas' con los -posibles- movimientos del mouse y/o acciones 'imprevistas' del usuario... -?-
seria necesario modificar el comportamiento 'normal' de varias teclas, combinaciones y eventos [p.e.]...
-> si tu estas 'controlando' el enter para 'detectar' la siguiente celda...
y el usuario pulsa {tab}... o 'se va hasta home' con el mouse... o selecciona un rango 'multiple'... o ???
-> que hacemos ??? :))

4) definitivamente... NO se trata de 'espantarte' :)) o hacerte ver como que 'no se puede' :-((
[solo es que]... manejar o controlar ->la seleccion del usuario<- y los eventos relacionados con seleccion de rangos...
requiere del mayor [y muy 'especifico'] detalle en cuanto a lo que se le va a 'permitir' al usuario ;)

comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida