Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Celda intermitente

2,394 views
Skip to first unread message

Josan

unread,
Jun 16, 2005, 5:02:48 PM6/16/05
to
Hola:

Quisiera saber como se puede hacer que el fondo de una
celda cambie de color y parpadee o entre en intermitencia al
sobrepasar un numero.
Por ejemplo a una celda se le van sumando ciertas cantidades
y al llegar a la cantidad deseada empieza a cambiar de color parpadeante.

gracias a todos.

Josan


KL

unread,
Jun 16, 2005, 6:45:14 PM6/16/05
to
Hola Josan,

Podrias conseguirlo usando una combinacion de tecnicas expuestas por Hector
Miguel y Fernando Arroyo hace algun tiempo. Aqui tienes la explicacion paso
a paso:

1) Crea una formula denominada.
- Ve al menu Insertar>Nombre>Definir...
- En la casilla para l nombre pon TEMPORIZADOR
- En la casilla para la referencia pon la siguiente formula:
=ES.PAR(REDONDEAR(AHORA()*100000;0))
- Pulsa el boton Anadir y luego Aceptar

2) Crea Formato Condicional.
- Selecciona la celda que quieres que parpadee, en este caso usaremos [A1]
- Ve al menu Formato>Formato Condicional...
- Elige la opcion 'Formula Es...' en el primer desplegable de la condicion 1
- Introduce la siguiente formula:
=TEMPORIZADOR*(A1>=100)<>0
- Pulsa el boton Formato y elige los formatos de texto y/o trama de tu
preferencia
- Pulsa Aceptar, Aceptar

3) Introduce el codigo VBA en el modulo de ThisWorkbook.
- haz clic-derecho sobre el pequeno icono de Excel a la izquierda del menu
Archivo
- Elige la opcion Ver Codigo para abrir el Editor VBA.
- En la ventana mas grande a la derecha pega este codigo:

'--------Inicio Codigo---------
Private Sub Workbook_BeforeClose(Cancel As Boolean)
DetenerParpadeo
End Sub

Private Sub Workbook_Open()
IniciarParpadeo
End Sub
'--------Fin Codigo---------

4) Introduce el codigo VBA en un modulo estandar.
- sin abandonar el Editor VBA ve al menu Insertar>Modulo
- En la ventana mas grande a la derecha pega este codigo:

'--------Inicio Codigo---------
Dim dtSiguiente As Date

Sub IniciarParpadeo()
dtSiguiente = Now + TimeValue("00:00:01")
Application.ScreenUpdating = True
Application.OnTime dtSiguiente, "IniciarParpadeo"
End Sub

Sub DetenerParpadeo()
Application.OnTime dtSiguiente, "IniciarParpadeo", schedule:=False
End Sub
'--------Fin Codigo---------

- Pulsa Alt+F11 para volver a la hoja

5) Guarda los cambios

6) Cierra el libro y vuelve a abrirlo habilitando los macros.

7) Prueba hacer que el valor de la celda [A1] cambie a 20, 99, 100, 1000,
etc.

Tambien podrias evitar el parpadeo innecesario del cursor asignando los
macros 'IniciarParpadeo' y 'DetenerParpadeo' a algun evento de hoja, por
ejemplo Worksheet_Change (si los valores se introducen en la celda [A1]
manualmente) o Worksheet_Calculate (si los valores se introducen en la celda
[A1] mediante formula), etc. En este caso tendras que evaluar el valor de la
celda [A1] desde el propio codigo (p.ej. usando IF...THEN...) y podras
cambiar la formula en el paso 2 a la siguiente: =TEMPORIZADOR

Saludos,
KL


"Josan" <jo...@broncesjosan.com> wrote in message
news:uRvPCbrc...@TK2MSFTNGP09.phx.gbl...

ricard

unread,
Jun 18, 2005, 5:37:02 AM6/18/05
to
Hola KL,

Primero de todo un saludo, hacia ya algunos días que no te leía
y me alegro que puedas seguir ayundandonos. El caso es que he
intentado seguir tus instrucciones para que parpadee el valor de
una celda en el momento que supere un valor determinado
y no hay forma, hago algo mal.

Un saludo

"KL" escribió:

KL

unread,
Jun 18, 2005, 7:04:45 AM6/18/05
to
Hola Ricard,

> hacia ya algunos dias que no te leia

Es que he estado muy liado las ultimas cuatro semanas yendo de reunion en
reunion por todo Europa.

> intentado seguir tus instrucciones para que parpadee el valor de
> una celda en el momento que supere un valor determinado
> y no hay forma, hago algo mal.

Si sigues mis instrucciones al pie de la letra, lo unico que se me ocurre es
que no tengas habilitados los macros. Comprueba en el menu
Herramientas>Macros>Seguridad que el nivel de proteccion este en Medio.

Si estas adaptando las formulas a tu situacion real, comprueba que en la
formula =TEMPORIZADOR*(A1>=100)<>0 tienes la refererencia a la celda que
quieres que parpadee - en mi caso era A1, pero en tu caso podria ser otra.

En todo caso, si explicas cuales son los sintomas de "...y no hay forma..."
sera mas facil diagnosticar el problema.

Por si acaso aqui te pongo un ejemplo por un par de dias:
http://www.telefonica.net/web/kl/BlinkingWithUndo.xls

Saludos,
KL


KL

unread,
Jun 18, 2005, 7:08:09 AM6/18/05
to
Hola Ricard,

> hacia ya algunos dias que no te leia

Es que he estado muy liado las ultimas cuatro semanas yendo de reunion en
reunion por todo Europa.

> intentado seguir tus instrucciones para que parpadee el valor de


> una celda en el momento que supere un valor determinado
> y no hay forma, hago algo mal.

Si sigues mis instrucciones al pie de la letra, lo unico que se me ocurre es


que no tengas habilitados los macros. Comprueba en el menu
Herramientas>Macros>Seguridad que el nivel de proteccion este en Medio.

Si estas adaptando las formulas a tu situacion real, comprueba que en la

formula =TEMPORIZADOR*(A1>=100)<>0 tienes la refererencia a la celda que

ricard

unread,
Jun 19, 2005, 5:40:01 AM6/19/05
to
Hola KL,

Me he vajado la hoja que has colgado temporalmente y hace los mismo
que la que yo había hecho siguiendo tus instrucciones, yo creía que no
parpadeaba
pero si que lo hace, pero es casi inapeciable. Entiendo que la hoja que tu
has colgado si se introduce en D1 un valor =>100, A1 debería parpadear y
mostrar el
valor en verde, es asi? yo le voy dando valores a D1 y percibo un ligero
parpadeo
pero que podría ser en A1 como en toda la fila y el valor no es en verde.

Algo debo hacer mal.

"KL" escribió:

KL

unread,
Jun 19, 2005, 8:39:31 AM6/19/05
to
Hola Ricard,

He cambiado (simplificado) la formula denominada TEMPORIZADOR a:

=ES.PAR(SEGUNDO(AHORA()))

Prueba bajar el archivo ahora y dime si te funciona mejor.

Saludos,
KL


"ricard" <ric...@discussions.microsoft.com> wrote in message
news:D8271555-359F-4068...@microsoft.com...


> Hola KL,
>
> Me he vajado la hoja que has colgado temporalmente y hace los mismo

> que la que yo habia hecho siguiendo tus instrucciones, yo creia que no


> parpadeaba
> pero si que lo hace, pero es casi inapeciable. Entiendo que la hoja que tu

> has colgado si se introduce en D1 un valor =>100, A1 deberia parpadear y


> mostrar el
> valor en verde, es asi? yo le voy dando valores a D1 y percibo un ligero
> parpadeo

> pero que podria ser en A1 como en toda la fila y el valor no es en verde.
>
> Algo debo hacer mal.
>
> "KL" escribio:

ricard

unread,
Jun 19, 2005, 1:06:01 PM6/19/05
to
Que tal KL,
Pues no, no me va mejor, de todas formas era simple curiosidad,
lo único que me preocupa que no sea por mi ordenador
tu ves el fondo verde y el valor intermitente al ir poniendo
valores >100 a D1?.
Te agradezco tu interes.


"KL" escribió:

KL

unread,
Jun 19, 2005, 5:44:13 PM6/19/05
to
Hola Ricard,

La verdad es que me funciona perfectamente (de lo contrario nunca lo habria
posteado). Lo he probado en tres PCs bien distintos con diferentes versiones
de SO y Office y funciona igual. La celda debe parpadear alternando el verde
con transparente cada segundo (no es que sea demasiado rapido).

Saludos,
KL

"ricard" <ric...@discussions.microsoft.com> wrote in message

news:7A2A053D-477D-426C...@microsoft.com...


> Que tal KL,
> Pues no, no me va mejor, de todas formas era simple curiosidad,

> lo unico que me preocupa que no sea por mi ordenador


> tu ves el fondo verde y el valor intermitente al ir poniendo
> valores >100 a D1?.
> Te agradezco tu interes.
>
>

> "KL" escribio:

ricard

unread,
Jun 20, 2005, 3:54:01 AM6/20/05
to
Hola KL,

Por fín ha funcionado, te explico lo que he hecho , yo me limitaba a bajar
tu hoja la salvaba, salía y la volvía a llamar aplicando macros y me da la
impresión que parpadeaba toda la hoja con lo que se hacia casi imperceptible.
Lo que he hecho ahora ha sido redefinir el formato condicional, insertar,
unicamente he entrado y he pulsado aceptar(tu ya lo habias definido).
No séque pasaba pero ahora funciona, gracías.

"Josan" escribió:

0 new messages