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 para atender à condição conforme necessário, 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, desejo que um som seja reproduzido. O Excel não oferece suporte a esse recurso, neste artigo, vou apresentar alguns códigos VBA para resolver essa tarefa.
Tocar um som de bipe do sistema padrão com base no valor da célula com o código VBA
Toque um som personalizado com base no valor da célula com o código VBA
Tocar um som se o valor da célula mudar em uma coluna específica com o código VBA
Tocar um som de bipe do sistema padrão com base no valor da célula com o código VBA
Aqui está um código útil para você tocar um som de bipe do sistema padrão quando uma condição específica for atendida, faça o seguinte:
1. Mantenha pressionada a ALT + F11 chaves, então ele abre o Microsoft Visual Basic para Aplicações janela.
2. Clique inserção > Móduloe cole o seguinte código no Módulo Janela.
Código VBA: reproduza um som de bipe do sistema padrão com base em um valor de 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: = IF (A1> 300, BeepMe (), "") em uma célula em branco ao lado da célula contém o valor no qual deseja reproduzir um som e, em seguida, pressione Entrar chave, nada será exibido na célula da fórmula, consulte a captura de tela:
4. E agora, se o valor inserido na célula A1 for maior que 300, um som de bipe do sistema padrão será reproduzido.
Toque um som personalizado com base no valor da célula com o código VBA
Se você quiser tocar algum outro som além do som de bipe padrão do sistema, aqui também um código VBA pode fazer um favor.
1. Segure o ALT + F11 chaves, então ele abre o Microsoft Visual Basic para Aplicações janela.
2. Clique inserção > Móduloe cole o seguinte código no Módulo Janela.
Código VBA: reproduza 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: = IF (A1> 300, SoundMe (), "")em uma célula em branco ao lado da célula contém o valor no qual deseja reproduzir um som e, em seguida, pressione Entrar chave, nada será exibido na célula da fórmula, consulte 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 de uma vez.
Notas: No código acima, você pode alterar o arquivo wav de som de acordo com sua necessidade de c: \ windows \ media \ caminho de arquivo. Veja a imagem:
Tocar um som se o valor da célula mudar em uma coluna específica com o código VBA
Se você deseja reproduzir um som se o valor da célula for alterado em uma coluna específica, você pode aplicar o seguinte código VBA.
1. Clique com o botão direito na guia da planilha em que deseja reproduzir um som quando o valor mudar em uma coluna e escolha Ver código a partir do menu de contexto, e no aberto Microsoft Visual Basic para aplicativos janela, copie e cole o seguinte código no módulo em branco:
Código VBA: reproduza 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
Note: No código acima, o número 3 no roteiro Colunas (3) é o número da coluna que você deseja reproduzir quando o valor muda 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 bipe do sistema padrão será reproduzido.
Melhores ferramentas de produtividade de escritório
Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
Office Tab traz interface com guias para o Office e torna seu trabalho muito mais fácil
- Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
- Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!