Anular algunas teclas

23/12/2004 - 02:46 por Esteban Dido | Informe spam
Hola,
Necesito evitar que puedan ser utilizadas algunas teclas en un archivo
Excel. La tecla Ñ, el acento, el signo +, etc. He intentado hacer una macro
pegando el código que usaría en programación en Visual Basic con el código
ASCII de cada tecla, pero en Excel no me resulta. Debe ser posible, ¿o no?.

Un saludo
manacor@flychilesat.net Quita la mosca para enviar un mensaje.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
23/12/2004 - 09:14 | Informe spam
hola, Este banDido ! :))

... evitar que puedan ser utilizadas ... la tecla Ñ, el acento, el signo +, etc. [...]



1.- si es por entrada 'directa' del usuario... podrias 'impedir'...
que se introduzcan [unos cuantos] caracteres 'prohibidos'
en la/s celda/s por medio de reglas de validacion [p.e.]...
selecciona la celda 'a1' [o un rango de celdas que 'inicie' en la celda 'a1'] y...
-> [menu] datos / validacion / [configuracion] permitir -> personalizada
+ en el campo de la formula 'introduce'... =>OJO que debe ser UNA SOLA LINEA<=y(eserror(encontrar("+",minusc(a1))),eserror(encontrar("ñ",minusc(a1))),
eserror(encontrar("á",minusc(a1))),eserror(encontrar("é",minusc(a1))),
eserror(encontrar("í",minusc(a1))),eserror(encontrar("ó",minusc(a1))),
eserror(encontrar("ú",minusc(a1))))
+ 'asegurate' de usar en el apartado de 'mensaje de error'... un 'estilo' de =>limite< + puedes 'personalizar' los mensajes para 'advertir' al usuario que NO debe usar 'tales o cuales' caracteres :))
=> la 'desventaja' es que el campo 'formula' tiene un limite de 255 caracteres :((
[y... con las 5 vocales acentuadas + la letra 'ñ' y el signo '+'... ya 'vamos' en 248]
[tampoco 'acepta' matrices y constantes] :((( <= 'esta'... SI que 'duele' :)) [excel 97, deja checar +]

2.- otra posibilidad, seria usando macros [probablemente el evento '_change' de 'la hoja'] =>¿comentas?<
saludos,
hector.

p.e. te recuerdo que 'mi' separador de argumentos es la coma ',' NO el punto y coma ';' ;)
Respuesta Responder a este mensaje
#2 Esteban Dido
24/12/2004 - 01:48 | Informe spam
Héctor,
¿Por qué escribes tan raro?. No se te entiende nada con tantos signos
innecesarios que pones en tu texto, aunque igual agradezco tu esfuerzo por
tratar de ayudar. En todo caso, lo que necesito quiero hacerlo mediante una
macro.

Un saludo
Quita la mosca para enviar un mensaje.
"Héctor Miguel" escribió en el mensaje
news:
hola, Este banDido ! :))

> ... evitar que puedan ser utilizadas ... la tecla Ñ, el acento, el signo


+, etc. [...]

1.- si es por entrada 'directa' del usuario... podrias 'impedir'...
que se introduzcan [unos cuantos] caracteres 'prohibidos'
en la/s celda/s por medio de reglas de validacion [p.e.]...
selecciona la celda 'a1' [o un rango de celdas que 'inicie' en la


celda 'a1'] y...
-> [menu] datos / validacion / [configuracion] permitir ->


personalizada
+ en el campo de la formula 'introduce'... =>OJO que debe ser UNA


SOLA LINEA<> =y(eserror(encontrar("+",minusc(a1))),eserror(encontrar("ñ",minusc(a1))),
eserror(encontrar("á",minusc(a1))),eserror(encontrar("é",minusc(a1))),
eserror(encontrar("í",minusc(a1))),eserror(encontrar("ó",minusc(a1))),
eserror(encontrar("ú",minusc(a1))))
+ 'asegurate' de usar en el apartado de 'mensaje de error'... un


'estilo' de =>limite<> + puedes 'personalizar' los mensajes para 'advertir' al usuario que
NO debe usar 'tales o cuales' caracteres :))
=> la 'desventaja' es que el campo 'formula' tiene un limite de 255


caracteres :((
[y... con las 5 vocales acentuadas + la letra 'ñ' y el signo '+'...


ya 'vamos' en 248]
[tampoco 'acepta' matrices y constantes] :((( <= 'esta'... SI que


'duele' :)) [excel 97, deja checar +]

2.- otra posibilidad, seria usando macros [probablemente el evento


'_change' de 'la hoja'] =>¿comentas?<>
saludos,
hector.

p.e. te recuerdo que 'mi' separador de argumentos es la coma ',' NO el


punto y coma ';' ;)


Respuesta Responder a este mensaje
#3 KL
24/12/2004 - 03:00 | Informe spam
Esteban,

En todo caso, lo que necesito quiero hacerlo mediante una
macro.



Podrias probar asignando vacio a las teclas, por ejemplo:

Sub Inhabilitar()
With Application
.OnKey "~", ""
.OnKey "{ENTER}", ""
.OnKey "{RIGHT}", ""
End with
End Sub

Sub Rehabilitar()
With Application
.OnKey "~"
.OnKey "{ENTER}"
.OnKey "{RIGHT}"
End with
End Sub

No se te entiende nada con tantos signos
innecesarios que pones en tu texto



Pues personalmente creo q el hecho de q no los entiendas no quiere decir q
los signos sean innecesarios. Para algunos de nosotros (si no la mayoria)
llevan una carga informativa y emocional adicional, q por cierto esta
expresada de una forma muy compacta.

Saludos y Felices Festas!
KL
Respuesta Responder a este mensaje
#4 Esteban Dido
28/12/2004 - 03:19 | Informe spam
Gracias, KL. Voy a probar el código que me sugieres.
Respecto de los signos que usa Héctor, yo no he dicho que no los entiendo.
Dije que no se entiende lo que trata de decir, que no es lo mismo.
Un Feliz Año para tí también.

Un saludo
Quita la mosca para enviar un mensaje.
"KL" <lapink2000(at)hotmail.com> escribió en el mensaje
news:#
Esteban,

> En todo caso, lo que necesito quiero hacerlo mediante una
> macro.

Podrias probar asignando vacio a las teclas, por ejemplo:

Sub Inhabilitar()
With Application
.OnKey "~", ""
.OnKey "{ENTER}", ""
.OnKey "{RIGHT}", ""
End with
End Sub

Sub Rehabilitar()
With Application
.OnKey "~"
.OnKey "{ENTER}"
.OnKey "{RIGHT}"
End with
End Sub

>No se te entiende nada con tantos signos
> innecesarios que pones en tu texto

Pues personalmente creo q el hecho de q no los entiendas no quiere decir q
los signos sean innecesarios. Para algunos de nosotros (si no la mayoria)
llevan una carga informativa y emocional adicional, q por cierto esta
expresada de una forma muy compacta.

Saludos y Felices Festas!
KL


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida