Tip: andere talen zijn Google-Vertaald. Je kunt het English versie van deze link.
Log in
x
or
x
x
Registreren
x

or

Hoe een geluid afspelen als aan een voorwaarde is voldaan in Excel?

In Excel kunnen we de voorwaardelijke opmaak toepassen om de cellen op te maken en te markeren om aan de voorwaarde te voldoen, maar soms wilt u misschien een geluid afspelen als aan een voorwaarde is voldaan. Als de celwaarde in A1 bijvoorbeeld groter is dan 300, wil ik dat er een geluid wordt afgespeeld. Excel ondersteunt deze functie niet, dit artikel zal ik een aantal VBA-codes introduceren om deze taak op te lossen.

Speel een standaard piepgeluid op basis van de celwaarde met VBA-code

Speel een aangepast geluid op basis van de celwaarde met VBA-code

Speel een geluid af als de celwaarde in een specifieke kolom met VBA-code verandert


pijl blauwe rechterbel Speel een standaard piepgeluid op basis van de celwaarde met VBA-code

Hier is een handige code waarmee je een standaard piepgeluid kunt afspelen als aan een specifieke voorwaarde wordt voldaan. Doe dit als volgt:

1. Houd de toets ingedrukt ALT + F11 toetsen, opent dan de Microsoft Visual Basic voor toepassingen venster.

2. Klikken bijvoegsel > moduleen plak de volgende code in de module Venster.

VBA-code: speel een standaard piepgeluid op basis van een celwaarde:

Function BeepMe() As String
    Beep
    BeepMe = ""
End Function

3. Sla vervolgens het codevenster op en sluit het, ga terug naar het werkblad en voer deze formule in: = IF (A1> 300, BeepMe (), "") in een lege cel naast de cel bevat de waarde waarop u een geluid wilt afspelen op basis van en druk vervolgens op invoeren sleutel, niets wordt weergegeven in de formulecel, zie screenshot:

doc play sound if conditon true 1

4. En nu, als de ingevoerde waarde in cel A1 groter is dan 300, wordt een standaard systeembiepgeluid afgespeeld.


pijl blauwe rechterbel Speel een aangepast geluid op basis van de celwaarde met VBA-code

Als u een ander geluid wilt horen dan het standaard piepgeluid, kan hier ook een VBA-code u een plezier doen.

1. Houd de toets ingedrukt ALT + F11 toetsen, opent dan de Microsoft Visual Basic voor toepassingen venster.

2. Klik op bijvoegsel > moduleen plak de volgende code in de 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. Sla vervolgens het codevenster op en sluit het, ga terug naar het werkblad en voer deze formule in: = IF (A1> 300, SoundMe (), "")in een lege cel naast de cel bevat de waarde waarop u een geluid wilt afspelen op basis van en druk vervolgens op invoeren sleutel, niets wordt weergegeven in de formulecel, zie screenshot:

doc play sound if conditon true 2

4. Als vanaf nu een waarde groter dan 300 wordt ingevoerd in cel A1, wordt een specifiek geluid in één keer afgespeeld.

Notes: In de bovenstaande code kun je het geluid wav-bestand naar je behoefte veranderen c: \ windows \ media \ bestandspad. Zie screenshot:

doc play sound if conditon true 3


pijl blauwe rechterbel Speel een geluid af als de celwaarde in een specifieke kolom met VBA-code verandert

Als u een geluid wilt afspelen als de celwaarde in een specifieke kolom verandert, kunt u de volgende VBA-code toepassen.

1. Klik met de rechtermuisknop op het bladtabblad waarvan u een geluid wilt afspelen wanneer de waarde in een kolom verandert en kies vervolgens Bekijk code vanuit het contextmenu en in de geopende Microsoft Visual Basic voor toepassingen venster, kopieer en plak de volgende code in de lege module:

VBA-code: speel een geluid af als de celwaarde in een kolom verandert:

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

doc play sound if conditon true 4

Notes: In de bovenstaande code, het nummer 3 in het script Kolommen (3) is het kolomnummer dat u wilt afspelen als de waarde in deze kolom verandert.

2. En sla dit codevenster vervolgens op en sluit het. Als een celwaarde in de derde kolom verandert, wordt een standaard pieptoon weergegeven.


Kutools voor Excel - De beste Office-productiviteitstool Verhoog uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Coderen van cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula Bar (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken op gefilterd bereik...
  • Cellen / rijen / kolommen samenvoegen zonder gegevens te verliezen; Inhoud gesplitste cellen; Combineer dubbele rijen / kolommen... voorkomen dubbele cellen; Ranges vergelijken...
  • Selecteer Dupliceren of Uniek rijen; Selecteer Lege rijen (alle cellen zijn leeg); Super Find en Fuzzy Find in veel werkboeken; Willekeurig selecteren ...
  • Exacte kopie Meerdere cellen zonder formule-referentie te wijzigen; Automatisch referenties maken naar meerdere vellen; Voeg kogels toe, Selectievakjes en meer ...
  • extract Text, Tekst toevoegen, verwijderen op positie, Verwijder de spatie; Subtotalen voor paging maken en afdrukken; Converteren tussen cellen Inhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerde sortering per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2019 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Volledige functionaliteit 60-daagse gratis proefversie.
kte-tab 201905

Tabblad Office Brengt interface met tabbladen naar Office en maakt uw werk veel eenvoudiger

  • Bewerken en lezen met tabbladen inschakelen in Word, Excel, PowerPoint, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en verlaagt dagelijks honderden muisklikken voor u!
Officetab onderaan
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Marcelo · 14 days ago
    Hi adm. I am trying to create, via VBA, an "IF" command which would sound an specifc sentence when a pre determined condition is reached. Could you help me, please?
  • To post as a guest, your comment is unpublished.
    Marcelo · 14 days ago
    Hi adm. I am trying to create, via VBA, an "IF" command which would sound an specifc sentence when a pre determined condition is reached. Could you help me, please?
  • To post as a guest, your comment is unpublished.
    devraj · 2 months ago
    code is not working what i can do
  • To post as a guest, your comment is unpublished.
    Shehzad · 7 months ago
    Hey admin, please tell , if i want to save sound file in excel file and i will open my excel file in any computer , can i hear that sound ???
    • To post as a guest, your comment is unpublished.
      skyyang · 7 months ago
      Hello, Shehzad,
      If you apply the first and third VBA code to play a default system beep sound, the sound can be hear from any other computer. But, with the second vba code, you should set the custom sound to your need.

      Note: You should save the workbook as Excel Macro-Enabled Workbook format.
  • To post as a guest, your comment is unpublished.
    Excelakos · 2 years ago
    Hi there
    I try to use the Play a custom sound based on cell value with VBA code but i have a problem. Here is an example:
    I have a time countdown in cell A1 which means value changes per second.
    Then in cell B1 i have inserted =8/(24*60) in a 0:08:00 format
    So the if i use to trigger the sound is if B1>A1,SoundMe(),""
    But the sound will never be heard. I can hear a sound like something is looping and i guess it has something to do with the fact that the value is dynamically changing.
    Then i tried to alter the code in the part Call PlaySound("c:\windows\media\Speech On.wav", _
    0, SND_ASYNC Or SND_FILENAME)
    I changed SND_ASYNC with SND_SYNC.

    This way i managed to play the sound, but it gets repeating forever.

    Is there any solution like to trigger the sound only once meaning just the very first time the criteria is met and then stop ??
    Thank you a lot