Hvordan afspilles en lyd, hvis en betingelse er opfyldt i Excel?
I Excel kan vi anvende den betingede formatering til at formatere og fremhæve cellerne for at opfylde den betingelse, som du har brug for, men nogle gange vil du muligvis afspille en lyd, hvis en betingelse er opfyldt. For eksempel, hvis celleværdien i A1 er større end 300, ønsker jeg, at der afspilles en lyd. Excel understøtter ikke denne funktion, denne artikel vil jeg introducere nogle VBA-koder for at løse denne opgave.
Afspil en standard systembiplyd baseret på celleværdi med VBA-kode
Afspil en brugerdefineret lyd baseret på celleværdi med VBA-kode
Afspil en lyd, hvis celleværdien ændres i en bestemt kolonne med VBA-kode
Afspil en standard systembiplyd baseret på celleværdi med VBA-kode
Her er en praktisk kode, som du kan afspille en standard systembiplyd, når en bestemt betingelse er opfyldt, gør som dette:
1. Hold nede i ALT + F11 tasterne, så åbner den Microsoft Visual Basic til applikationer vindue.
2. Klik indsatte > Moduler, og indsæt følgende kode i Moduler Vindue.
VBA-kode: Afspil en standard biplyd fra systemet baseret på en celleværdi:
Function BeepMe() As String
Beep
BeepMe = ""
End Function
3. Gem og luk derefter dette kodevindue, gå tilbage til regnearket, og indtast denne formel: = HVIS (A1> 300, BeepMe (), "") i en tom celle ved siden af cellen indeholder den værdi, du vil afspille en lyd baseret på, og tryk derefter på Indtast nøgle, intet vises i formelcellen, se skærmbillede:
4. Og nu, hvis den indtastede værdi i celle A1 er større end 300, afspilles en standardlyd fra systembip.
Afspil en brugerdefineret lyd baseret på celleværdi med VBA-kode
Hvis du vil afspille en anden lyd end standardbiplyden til systemet, kan også en VBA-kode gøre dig en tjeneste.
1. Hold nede ALT + F11 tasterne, så åbner den Microsoft Visual Basic til applikationer vindue.
2. Klik indsatte > Moduler, og indsæt følgende kode i Moduler Vindue.
VBA-kode: Afspil en bestemt lyd baseret på en celleværdi:
#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. Gem derefter og luk dette kodevindue, vend tilbage til regnearket, og indtast denne formel: = HVIS (A1> 300, SoundMe (), "")i en tom celle ved siden af cellen indeholder den værdi, du vil afspille en lyd baseret på, og tryk derefter på Indtast nøgle, intet vises i formelcellen, se skærmbillede:
4. Fra nu af, hvis en værdi større end 300 indtastes i celle A1, afspilles en bestemt lyd på én gang.
Noter: I ovenstående kode kan du ændre lydbølgefilen til dit behov fra c: \ windows \ media \ filsti. Se skærmbillede:
Afspil en lyd, hvis celleværdien ændres i en bestemt kolonne med VBA-kode
Hvis du vil afspille en lyd, hvis celleværdien ændres i en bestemt kolonne, kan du anvende følgende VBA-kode.
1. Højreklik på arkfanen, som du vil afspille en lyd, når værdien ændres i en kolonne, og vælg derefter Vis kode fra genvejsmenuen og i det åbnede Microsoft Visual Basic til applikationer vindue, kopier og indsæt følgende kode i det tomme modul:
VBA-kode: Afspil en lyd, hvis celleværdien ændres i en kolonne:
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
Bemærk: I ovenstående kode, nummeret 3 i scriptet Kolonner (3) er det søjlenummer, som du vil afspille lyd, når værdien ændres i denne søjle.
2. Og gem derefter og luk dette kodevindue. Hvis en celleværdi ændres i den tredje kolonne, afspilles der nu en standardlyd fra systembip.
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere
- Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
- Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
- Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!