Regresar a la Pagina de Inicio

10 jun. 2011

controlar el teclado con macros

En muchísimas ocasiones (quizás mas de las deseadas), necesitamos si o si controlar la entrada de datos en nuestras planillas de cálculos. Las variaciones pueden ser miles: solo números, solo números mayores a cierta cifra, letras, ciertas letras (algunas sí, otras no), números y letras.... y podemos seguir combinando por varios años. En otros casos se nos presentará el siguiente problema: si los usuarios presionan "Control + P" quiero evitar que se imprima, o bien deseo evitar la combinación de ciertas teclas, como "Control + C". 
En situaciones normales: ¿que sucede al presionar F1? Aparece la Ayuda. ¿F2? Entramos en el "modo edición" de celda. ¿F5? Aparece el cuadro "Ir a...". ¿Y si quiero personalizar dichas teclas y que, por ejemplo, si presionan F1 se agregue una nueva hoja al libro?
en mas de una ocasión nos vemos en la necesidad de colocar "controles de formularios" (activex) dentro del proyecto, para así chequear que datos ingresan los usuarios, mediante el uso de sus eventos KeyAscii y/o KeyDown. A partir de ahora nos será factible prescindir de ellos.
[+/-] Ver el resto / Ocultar

2 comentarios:

Anónimo dijo...

como puedo ingresar la fecha actual automaticamente pero que no se actualice tal como si usara la combinación ctrl+;

Damian Omar Silva dijo...

si pones la función =HOY() en cualquier celda, esta se actualizará automaticamente cada vez que se recalcule el libro.
se me ocurren dos opciones:

1) menú herramientas/opciones/pestaña calcular. seleccionas la opcion "manual". esto hará que excel deje de calcular automaticamente, pero si tienes funciones.... dejarán de andar. y tiene el gran problema que la fecha se actualizará apenas se recalcule el libro. considero muy mala esta opción, estimo que vos necesitas guardar una fecha determinada y que esta no varíe nunca.

2) no queda otra que recurrir a las macros. te vas a VBA (alt + f11) y haces click sobre el objeto ThisWorkbook para abrir la ventana de código y pegás esto:
Private Sub Workbook_Open()
range("a1").value = date
End Sub
¿que hace esto? cada vez que se abra el libro colocará la fecha del sistema en la celda A1. deberías cambiar el nombre del rango por el que vos necesites en tu proyecto.

espero que te sirva, cualquier cosa me avisas, pero creo que la única solución es mediante macros, ya que una función si o si se actualizará cada vez que recalcules el libro.
si necesitas mas ayuda al respecto quedo al aguardo de tus noticias.

Publicar un comentario

Regresar a la Pagina de Inicio

ENTRADAS MAS RECIENTES (ULTIMAS 10)


las + vistas

10 ULTIMOS COMENTARIOS DE MIS LECTORES

Free counters!
blog de periodismo




GRAFICA RIO BRAVO
Serigrafia-Offset
Rosario - Santa Fe - Argentina
TE: 0341 4664028