Parpadeo de células
Resuelto
Hola,
Tengo un calendario con fechas de cumpleaños que debo felicitar, y me gustaría que parpadeen cuando sea el día D.
De antemano, gracias por su ayuda.
Cordialmente,
Tengo un calendario con fechas de cumpleaños que debo felicitar, y me gustaría que parpadeen cuando sea el día D.
De antemano, gracias por su ayuda.
Cordialmente,
23 respuestas
-
Re,
acabo de mirar las fórmulas, podrías aligerarlas, por ejemplo la fórmula que tienes en A5
=SI(MES(FECHA(Año;COLUMNA($A1:$IV12);FILA($A1:$IV31)))=COLUMNA($A1:$IV12);FECHA(Año;COLUMNA($A1:$IV12);FILA($A1:$IV31));"")
podrías escribirla
=SIERROR((FILA()-4&"/"&COLUMNA()&"/"&Año)*1;"")
luego incremental hacia la derecha hasta la columna L, y luego incrementa la fila hasta la fila 35
eventualmente asegura la tabla en matricial
--
A+
Mike-31
Un período de fracaso es un momento ideal para sembrar las semillas del conocimiento. -
Re,
Es raro que no tengas sonido, haz clic derecho en el archivo Happy_Birthday.mp3 y selecciona Reproducir y dime si el reproductor de medios funciona
--
A+
Mike-31
Un período de fracaso es un momento ideal para sembrar las semillas del conocimiento.-
-
Re,
Creo que he entendido el problema, y no has leído mis explicaciones.
Lo que condiciona la lectura del archivo de sonido es la presencia de un comentario en la celda correspondiente, así que para probar hoy 02/09/2015, solo tienes que hacer clic derecho en la celda correspondiente / Insertar un comentario. Si quieres que el sonido se reproduzca mañana, solo tienes que crear un comentario en la celda del 03/09/2015. Revisa mis explicaciones del post 27. -
-
-
Hola,
Es fabuloso, sinceramente gracias por su profesionalismo y hasta pronto. -
Re,
aquí está el archivo que creo que está operativo, no duden en compartir sus comentarios.
actualmente el archivo no contiene comentarios, solo hay que ingresarlos en las fechas deseadas. Actualmente, el archivo de audio está destinado a recordar los cumpleaños.
la procedimiento se inicia automáticamente al abrir el archivo, al cambiar de pestaña, al cambiar de fecha o mediante el único botón que cambia de aspecto según el procedimiento en curso
en todos los casos, el procedimiento puede ser detenido con el botón o al salir de la hoja
el código se ejecuta parcial o totalmente si la celda del día contiene un comentario
descarguen el archivo ZIP y luego extraigan la carpeta Anniv antes de probar el archivo Classeur2 que pueden renombrar
https://www.cjoint.com/c/EIci1gbUZjj
--
¡Hasta luego!
Mike-31
Un período de fracaso es un momento soñado para sembrar las semillas del conocimiento.-
-
-
-
Re,
en el archivo carpeta tienes dos archivos, el archivo Excel llamado Classeur2.xlsm y el archivo de audio llamado Happy_Birthday.mp3 es imperativo que ambos archivos estén al mismo nivel en la estructura, es decir, en el mismo directorio o tendrás que revisar la dirección del archivo y este mensaje denuncia esta incoherencia.
pega ambos archivos en el mismo lugar y todo debe funcionar, la prueba es que Cali no tuvo ningún problema. -
-
-
hola y gracias
-
ColaboradorHola,
Mientras espero el de Mike_31
http://www.cjoint.com/c/EHFqISKbGRQ
--
@+ El Pájaro Picoteador -
ok, voy a ver pero para la música no es posible, no tengo tarjeta de sonido, una pena.
Gracias -
Re,
Gracias por tu respuesta, también es posible controlar en el mismo código el formato condicional, y a elección hacer parpadear la celda o el comentario, o hacer parpadear la celda y hacer aparecer el comentario de la celda en cuestión y si quieres despertar la curiosidad hacer sonar una música como Happy_Birthday
--
A+
Mike-31
Un período de fracaso es un momento ideal para sembrar las semillas del conocimiento. -
Hola a los dos y muchas gracias de nuevo.
Voy a probar esta mañana y les mantendré informados.
Atentamente, -
ColaboradorBuena aproximación, gracias por esta solución.
He modificado para aproximarme a la solicitud:
en un módulo:
Option Explicit Dim Timer As Date Dim Cell As Variant Sub Comman() For Each Cell In Range("A5:L35") If Not (Cell.Comment Is Nothing) And Cell = Date Then 'MsgBox Cell.Comment.Text Cell.Select Clign End If Next End Sub Sub Clign() On Error Resume Next Static i i = i + 1 'mientras no se alcance el número de parpadeos elegido '(aquí 5) seguimos If i <= 5 Then Timer = Now() + TimeValue("00:00:01") 'el tiempo de parpadeo Application.OnTime Timer, "Clign" 'Muestra la alerta o la hace desaparecer (alternadamente) With ThisWorkbook 'Comentario With .Sheets("Calendrier").Range(ActiveCell.Address) .Comment.Visible = Not .Comment.Visible End With End With Else Application.OnTime Timer, "Clign", , False 'Oculta la alerta Sheets("Calendrier").Range(ActiveCell.Address).Comment.Visible = True i = 0 End If End Sub
y en la hoja:
Option Explicit Dim f, ligne, cmt Dim mois, jour Private Sub Worksheet_Activate() Application.ScreenUpdating = False [A5:L35].ClearComments [A5:L35].Interior.ColorIndex = xlNone Set f = Sheets("evenement") For ligne = 2 To f.[A65000].End(xlUp).Row cmt = f.Cells(ligne, 1) & " " & f.Cells(ligne, 2) & " " & f.Cells(ligne, 4) mois = Month(f.Cells(ligne, 3)) jour = Day(f.Cells(ligne, 3)) With Sheets("calendrier").Cells(jour + 4, mois) If .Comment Is Nothing Then .AddComment .Comment.Text Text:=cmt .Comment.Shape.TextFrame.AutoSize = True .Interior.ColorIndex = 3 .Comment.Visible = True End With Next ligne Comman 'inicia el parpadeo Application.ScreenUpdating = True End Sub
Saludos cordiales
--
@+ El Pivert -
Re,
Perdón por el retraso, problema de conexión, gracias a Pivert por haber asegurado el seguimiento, pero si pasas por aquí
podrías hacer sencillo mostrando el comentario del día actual, o si insistes en el parpadeo, otra variante, hacer parpadear el comentario
para probar pega este código en un módulo y asocia el código Comman y ArretClign a un botón o en este libro para un lanzamiento automático
Option Explicit
Dim Timer As Date
Dim Cell As Variant
Sub Comman()
For Each Cell In Range("A5:L35")
If Not (Cell.Comment Is Nothing) And Cell = Date Then 'MsgBox Cell.Comment.Text
Cell.Select
Clign
End If
Next
End Sub
Sub Clign()
On Error Resume Next
Timer = Now() + TimeValue("00:00:01") 'el tiempo de parpadeo
Application.OnTime Timer, "Clign"
'Muestra la alerta o la oculta (alternativamente)
With ThisWorkbook
'Comentario
With .Sheets("Calendario").Range(ActiveCell.Address)
.Comment.Visible = Not .Comment.Visible
End With
End With
End Sub
Sub ArretClign()
On Error Resume Next
Application.OnTime Timer, "Clign", , False
'Oculta la alerta
Sheets("Calendario").Range(ActiveCell.Address).Comment.Visible = False
End Sub
--
A+
Mike-31
Un periodo de fracaso es un momento ideal para sembrar las semillas del conocimiento. -
Hola,
Sinceramente gracias, lo he probado y es genial.
Gracias a los dos
Atentamente, -
ColaboradorAquí está el archivo modificado. He puesto un cumpleaños falso para hoy, para ver si funciona bien:
http://www.cjoint.com/c/EHCjPvWkD5Q
Mike-31, seguro que hay manera de simplificar el código.
¡No reconocía los números de columna!
Si puedes echarle un vistazo
Cordialmente a los dos
--
@+ El Pícaro -
Hola y gracias a los dos por su paciencia.
Intentaré arreglármelas con su envío, pero si pueden corregir mi archivo, sería genial.
Saludos, -
Re,
aquí está el archivo de CALI
https://www.cjoint.com/c/EHBrxlogKGj
--
A+
Mike-31
Un período de fracaso es un momento ideal para sembrar las semillas del conocimiento. -
ColaboradorTu enlace está inactivo. Deberías registrarte, es gratis. Recibirías mensajes cuando te respondan. Los enlaces son azules y clicables.
Aquí tienes otro ejemplo que se adapta a todos los libros de trabajo:
Presiona Alt F11 para acceder al editor.
Los códigos están en módulo1 y ThisWorkbook
http://www.cjoint.com/c/EHBpDuRogDQ
--
@+ El Pájaro Carpintero-
-
ColaboradorHola Mike-31,
No puedo activar el enlace.
Una pista para los comentarios:
Option Explicit Private Sub Workbook_Open() Dim PremCell As String Dim Cell As Range Dim maligne As String Dim madate As Date Dim com As String madate = Format(Date, "d/mm/yyyy") Set Cell = Cells.Find(madate) On Error Resume Next If Not Cell Is Nothing Then PremCell = Cell.Address maligne = Cell.Address(RowAbsolute:=False) 'da la columna y el número de fila por ej: $G16 Range(maligne).Select 'selecciona la celda donde se encuentra la fecha com = ActiveCell.Comment.Text End If If com = "" Then Else InitFlash End If End Sub
Saludos.
-
-
http://www.cjoint.com/c/EHBlKyOi3Ai
Gracias por su cooperación. -
Re,
si comenzaras por poner tu archivo anonimizado a nuestra disposición, sería posible adaptar un código
para adjuntar tu archivo a partir de este enlace
https://www.cjoint.com/
--
A+
Mike-31
Un período de fracaso es un momento ideal para sembrar las semillas del conocimiento. -
Lo siento, pero no puedo adaptar esta macro a mi archivo. Sé que no soy muy buena, así que realmente necesito ayuda.
-
ColaboradorHola,
Aquí hay un ejemplo:
http://www.cjoint.com/c/EHBjkGUh1GQ
--
@+ El Pájaro Carpintero
- 1
- 2
Siguiente