¿Cómo reproducir un sonido cuando se cumpla una condición en Excel?
En Excel, podemos usar el formato condicional para dar formato y resaltar las celdas que cumplan la condición que necesite. Sin embargo, a veces es posible que desee reproducir un sonido cuando se cumpla una condición específica. Por ejemplo, si el valor de la celda A1 es mayor que 300, podría querer que se reproduzca un sonido. Excel no incluye esta funcionalidad de forma nativa; en este artículo presentaré algunos códigos VBA para lograrlo.
Reproducir un sonido predeterminado del sistema en función del valor de una celda con código VBA
Reproducir un sonido personalizado en función del valor de una celda con código VBA
Reproducir un sonido si el valor de una celda cambia en una Especificar columna con código VBA
Reproducir un sonido predeterminado del sistema en función del valor de una celda con código VBA
Aquí tiene un código práctico para reproducir un sonido predeterminado del sistema cuando se cumpla una condición específica. Siga estos pasos:
1. Mantenga pulsadas las teclas ALT + F11 y se abrirá la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haga clic en Insertar > Módulo y pegue el siguiente código en la ventana del Módulo.
Código VBA: Reproducir un sonido predeterminado del sistema en función del valor de una celda:
Function BeepMe() As String
Beep
BeepMe = ""
End Function
3. A continuación, guarde y cierre esta ventana de código, vuelva a la hoja de cálculo e introduzca esta fórmula: =IF(A1>300,BeepMe(),«») en una celda vacía junto a aquella que contiene el valor en función del cual desea reproducir un sonido. Después, pulse la tecla Entrar. No se mostrará nada en la celda con la fórmula. Vea la captura de pantalla:

4. A partir de ahora, si introduces un valor en la celda A1 mayor que 300, se reproducirá un sonido predeterminado del sistema.
Reproducir un sonido personalizado en función del valor de una celda con código VBA
Si desea reproducir un sonido distinto del predeterminado del sistema, también puede usar un código VBA para lograrlo.
1. Mantenga pulsadas las teclas ALT + F11 y se abrirá la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haga clic en Insertar > Módulo y pegue el siguiente código en la ventana del Módulo.
Código VBA: Reproducir un sonido específico en función del valor de una celda:
#If Win64 Then
Private Declare PtrSafe Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As LongPtr, ByVal dwFlags As Long) As Boolean
#Else
Private Declare Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Long, ByVal dwFlags As Long) As Boolean
#End If
Const SND_SYNC = &H0
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000
Function SoundMe() As String
'Updateby Extendoffice 20161223
Call PlaySound("c:\windows\media\Speech On.wav", _
0, SND_ASYNC Or SND_FILENAME)
SoundMe = ""
End Function
3. A continuación, guarde y cierre esta ventana de código, vuelva a la hoja de cálculo e introduzca esta fórmula: =IF(A1>300,SoundMe(),«») en una celda vacía junto a aquella que contiene el valor en función del cual desea reproducir un sonido. Después, pulse la tecla Entrar. No aparecerá nada en la celda con la fórmula. Vea la captura de pantalla:

4. A partir de ahora, al introducir en la celda A1 un valor mayor que 300, se reproducirá inmediatamente un sonido específico.
Notas: En el código anterior, puede cambiar el archivo de sonido .wav según sus necesidades desde la ruta c:\windows\media\. Vea la captura de pantalla:

Reproducir un sonido si el valor de una celda cambia en una Especificar columna con código VBA
Si desea reproducir un sonido cada vez que el valor de una celda cambie en una columna específica, puede aplicar el siguiente código VBA.
1. Haga clic con el botón derecho en la pestaña de la hoja donde quiera reproducir un sonido al cambiar un valor en una columna y, a continuación, seleccione Ver código en el menú contextual. En la ventana que se abre de Microsoft Visual Basic para Aplicaciones, copie y pegue el siguiente código en el módulo en blanco:
Código VBA: Reproducir un sonido si el valor de una celda cambia en una columna:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice 20161223
Dim xCell As Range
On Error Resume Next
If Target.Columns.Count = 1 Then
If Intersect(Target, Columns(3)) Is Nothing Then
Exit Sub
Else
For Each xCell In Columns(3)
On Error Resume Next
If (xCell.Value = Target.Value) And (xCell.Value <> "") Then
Beep
Exit For
End If
Next
End If
End If
End Sub

Nota: En el código anterior, el número 3 en la instrucción Columns(3) es el número de la columna en la que desea reproducir un sonido cuando cambie su valor.
2. A continuación, guarda y cierra esta ventana de código. Ahora, si el valor de una celda cambia en la tercera columna, se reproducirá un sonido predeterminado del sistema.
Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos