Como reproduzir um som se uma condição for atendida no Excel?
No Excel, podemos aplicar a Formatação Condicional para formatar e destacar as células que atendem à condição que você precisa, mas, às vezes, você pode querer reproduzir um som se uma condição for atendida. Por exemplo, se o valor da célula em A1 for maior que 300, quero que um som seja reproduzido. O Excel não oferece suporte a esse recurso; neste artigo, vou introduzir alguns códigos VBA para resolver essa tarefa.
Reproduza um som de beep do sistema padrão com base no valor da célula com código VBA
Reproduza um som personalizado com base no valor da célula com código VBA
Reproduza um som se o valor da célula mudar em uma coluna específica com código VBA
Reproduza um som de beep do sistema padrão com base no valor da célula com código VBA
Aqui está um código prático para você reproduzir um som de beep do sistema padrão quando uma condição específica for atendida; siga estas etapas:
1. Pressione e segure as teclas ALT + F11, isso abrirá a janela Microsoft Visual Basic for Applications.
2. Clique em Inserir > Módulo e cole o seguinte código na Janela do Módulo.
Código VBA: Reproduzir um som de beep do sistema padrão com base no valor de uma célula:
Function BeepMe() As String
Beep
BeepMe = ""
End Function
3. Em seguida, salve e feche esta janela de código, volte para a planilha e insira esta fórmula: =SE(A1>300;BeepMe();"") em uma célula em branco ao lado da célula que contém o valor no qual você deseja reproduzir um som, e pressione a tecla Enter. Nada será exibido na célula da fórmula, veja a captura de tela:
4. E agora, se o valor inserido na célula A1 for maior que 300, um som de beep do sistema padrão será reproduzido.
Reproduza um som personalizado com base no valor da célula com código VBA
Se você quiser reproduzir algum outro som além do beep do sistema padrão, aqui também há um código VBA que pode ajudá-lo.
1. Pressione e segure as teclas ALT + F11, isso abrirá a janela Microsoft Visual Basic for Applications.
2. Clique em Inserir > Módulo e cole o seguinte código na Janela do Módulo.
Código VBA: Reproduzir um som específico com base no valor de uma célula:
#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. Em seguida, salve e feche esta janela de código, retorne à planilha e insira esta fórmula: =SE(A1>300;SoundMe();"") em uma célula em branco ao lado da célula que contém o valor no qual você deseja reproduzir um som, e pressione a tecla Enter. Nada será exibido na célula da fórmula, veja a captura de tela:
4. A partir de agora, se um valor maior que 300 for inserido na célula A1, um som específico será reproduzido imediatamente.
Notas: No código acima, você pode alterar o arquivo de som wav conforme sua necessidade no caminho do arquivo c:\windows\media\. Veja a captura de tela:
Reproduza um som se o valor da célula mudar em uma coluna específica com código VBA
Se você quiser reproduzir um som se o valor da célula mudar em uma coluna específica, pode aplicar o seguinte código VBA.
1. Clique com o botão direito na guia da planilha onde você deseja reproduzir um som quando o valor mudar em uma coluna, escolha Ver Código no menu de contexto, e na janela aberta Microsoft Visual Basic for Applications, copie e cole o seguinte código no Módulo em branco:
Código VBA: Reproduzir um som se o valor da célula mudar em uma coluna:
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: No código acima, o número 3 no script Colunas(3) é o número da coluna na qual você deseja reproduzir um som quando o valor mudar nesta coluna.
2. Em seguida, salve e feche esta janela de código; agora, se o valor de uma célula mudar na terceira coluna, um som de beep do sistema padrão será reproduzido.
Melhores Ferramentas de Produtividade para Office
Potencialize suas habilidades no Excel com o Kutools para Excel e experimente uma eficiência sem igual. O Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
O Office Tab traz interface com abas para o Office e facilita muito o seu trabalho
- Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas abas na mesma janela, em vez de abrir novas janelas.
- Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!