Celda intermitente

16/06/2005 - 23:02 por Josan | Informe spam
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
 

Leer las respuestas

#1 KL
17/06/2005 - 00:45 | Informe spam
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>0)<>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" wrote in message
news:
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


Preguntas similares