Hoe speelt u een geluid af wanneer aan een voorwaarde is voldaan in Excel?
In Excel kunt u Voorwaardelijke opmaak gebruiken om cellen automatisch op te maken en te markeren wanneer aan een bepaalde voorwaarde wordt voldaan. Maar soms wilt u misschien ook dat er een geluid wordt afgespeeld zodra die voorwaarde waar is — bijvoorbeeld: als de waarde in cel A1 groter is dan 300, wil ik dat er een geluid klinkt. Helaas ondersteunt Excel deze functie niet standaard. In dit artikel introduceer ik enkele VBA-codes waarmee u deze taak alsnog kunt uitvoeren.
Speel een standaard systeempiep af op basis van een celwaarde met VBA-code
Speel een aangepast geluid af op basis van een celwaarde met VBA-code
Speel een geluid af als de celwaarde verandert in een Specificeer kolom met VBA-code
Speel een standaard systeempiep af op basis van een celwaarde met VBA-code
Hier is een handige code die een standaard systeempiep laat horen zodra aan een specifieke voorwaarde is voldaan. Volg deze stappen:
1. Houd de toetsen ALT + F11 ingedrukt. Het venster Microsoft Visual Basic for Applications wordt dan geopend.
2. Klik op Invoegen > Module en plak de volgende code in het Module-venster.
VBA-code: Speel een standaard systeempiep af op basis van een celwaarde:
Function BeepMe() As String
Beep
BeepMe = ""
End Function
3. Sluit vervolgens het codovenster met Opslaan en sluiten, keer terug naar het werkblad en voer de volgende formule in:=IF(A1>300,BeepMe(),„") in een lege cel naast de cel met de waarde waarop u het afspelen van een geluid wilt baseren. Druk daarna op Enter. Er verschijnt niets in de formulecel. Zie de schermafbeelding:

4. Vanaf nu klinkt er een standaard systeempiep zodra de ingevoerde waarde in cel A1 groter is dan 300.
Speel een aangepast geluid af op basis van een celwaarde met VBA-code
Als u een ander geluid dan de standaard systeempiep wilt afspelen, helpt ook hier een VBA-code u verder.
1. Houd de toetsen ALT + F11 ingedrukt. Het venster Microsoft Visual Basic for Applications wordt dan geopend.
2. Klik op Invoegen > Module en plak de volgende code in het Module-venster.
VBA-code: Speel een specifiek geluid af op basis van een celwaarde:
#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. Sluit vervolgens het codovenster met Opslaan en sluiten, keer terug naar het werkblad en voer de volgende formule in:=IF(A1>300,SoundMe(),„") in een lege cel naast de cel met de waarde waarop u het afspelen van een geluid wilt baseren. Druk daarna op Enter. Er verschijnt niets in de formulecel. Zie de schermafbeelding:

4. Vanaf nu wordt er onmiddellijk een specifiek geluid afgespeeld zodra een waarde groter dan 300 in cel A1 wordt ingevoerd.
Opmerkingen: In de bovenstaande code kunt u het WAV-geluidsbestand naar wens aanpassen via c:\windows\media\ als bestandspad. Zie de schermafbeelding:

Speel een geluid af als de celwaarde verandert in een Specificeer kolom met VBA-code
Als u een geluid wilt afspelen wanneer de celwaarde verandert in een Specificeer kolom, kunt u de volgende VBA-code toepassen.
1. Klik met de rechtermuisknop op het bladtab waarop u een geluid wilt afspelen wanneer de waarde in een kolom verandert, kies vervolgens Code weergeven in het contextmenu en plak de volgende code in de lege module van het geopende Microsoft Visual Basic for Applications-venster:
VBA-code: Speel een geluid af als de celwaarde verandert in een kolom:
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

Opmerking: In de bovenstaande code is het getal 3 in het script Kolommen(3) het kolomnummer waarvoor u een geluid wilt afspelen wanneer de waarde in die kolom verandert.
2. Sluit vervolgens dit codovenster en kies Opslaan en sluiten. Vanaf nu wordt er een standaard systeempiep afgespeeld zodra de waarde in een cel in de derde kolom verandert.
Beste Office-productiviteitshulpmiddelen
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie zoals nooit tevoren.Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en Tijd besparen.Klik hier om de functie te krijgen die u het meest nodig heeft...
Office Tab brengt een tabbladinterface naar Office en maakt uw werk veel eenvoudiger
- Schakel tabbladbewerking en -lezen in voor Word, Excel, PowerPoint, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten aan in nieuwe tabbladen binnen hetzelfde venster, in plaats van in afzonderlijke vensters.
- Verhoogt uw productiviteit met 50 % en bespaart u dagelijks honderden muisklikken!
Alle Kutools-add-ins in één installatieprogramma.
Kutools for Office bundelt add-ins voor Excel, Word, Outlook en PowerPoint, plus Office Tab Pro—ideaal voor teams die met meerdere Office-apps werken.
- Alles-in-één suite— add-ins voor Excel, Word, Outlook & PowerPoint plus Office Tab Pro
- Één installatieprogramma, één licentie— binnen enkele minuten klaar (MSI-geschikt)
- Werkt beter samen— gestroomlijnde productiviteit in alle Office-apps
- 30 dagen volledig functionele proefversie— geen registratie, geen creditcard
- Beste prijs-kwaliteitverhouding— bespaar ten opzichte van het afzonderlijk kopen van add-ins