Hur spelar jag ett ljud om ett villkor uppfylls i Excel?
I Excel kan vi använda villkorlig formatering för att formatera och markera cellerna för att uppfylla villkoret som du behöver, men ibland kanske du vill spela ett ljud om ett villkor är uppfyllt. Till exempel, om cellvärdet i A1 är större än 300, vill jag att ett ljud spelas. Excel stöder inte den här funktionen, den här artikeln, jag kommer att introducera några VBA-koder för att lösa denna uppgift.
Spela upp ett standardljud från systemet baserat på cellvärde med VBA-kod
Spela ett anpassat ljud baserat på cellvärde med VBA-kod
Spela upp ett ljud om cellvärdet ändras i en viss kolumn med VBA-kod
Spela upp ett standardljud från systemet baserat på cellvärde med VBA-kod
Här är en praktisk kod för dig att spela ett standardljud för systempip när ett specifikt villkor är uppfyllt, gör så här:
1. Håll ner ALT + F11 och sedan öppnas Microsoft Visual Basic för applikationer fönster.
2. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.
VBA-kod: Spela ett standardlyd för systempip baserat på ett cellvärde:
Function BeepMe() As String
Beep
BeepMe = ""
End Function
3. Spara och stäng sedan kodfönstret, gå tillbaka till kalkylbladet och ange den här formeln: = IF (A1> 300, BeepMe (), "") i en tom cell bredvid cellen innehåller det värde du vill spela ett ljud baserat på och tryck sedan på ange nyckel, ingenting visas i formelcellen, se skärmdump:
4. Och nu, om det inmatade värdet i cell A1 är större än 300, kommer ett standardljud från systemet att spelas upp.
Spela ett anpassat ljud baserat på cellvärde med VBA-kod
Om du vill spela något annat ljud än standardsystemets ljud, här kan också en VBA-kod göra dig en tjänst.
1. Håll ner ALT + F11 och sedan öppnas Microsoft Visual Basic för applikationer fönster.
2. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.
VBA-kod: Spela ett specifikt ljud baserat på ett cellvärde:
#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. Spara och stäng sedan kodfönstret, återgå till kalkylbladet och ange den här formeln: = IF (A1> 300, SoundMe (), "")i en tom cell bredvid cellen innehåller det värde du vill spela ett ljud baserat på och tryck sedan på ange nyckel, ingenting visas i formelcellen, se skärmdump:
4. Från och med nu, om ett värde större än 300 anges i cell A1, kommer ett specifikt ljud att spelas upp på en gång.
Anmärkningar: I koden ovan kan du ändra ljudvavfilen till ditt behov från c: \ windows \ media \ sökväg. Se skärmdump:
Spela upp ett ljud om cellvärdet ändras i en viss kolumn med VBA-kod
Om du vill spela upp ett ljud om cellvärdet ändras i en viss kolumn kan du använda följande VBA-kod.
1. Högerklicka på arkfliken som du vill spela upp ett ljud när värdet ändras i en kolumn och välj sedan Visa kod från snabbmenyn och i den öppnade Microsoft Visual Basic för applikationer fönster, kopiera och klistra in följande kod i den tomma modulen:
VBA-kod: Spela upp ett ljud om cellvärdet ändras i en kolumn:
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
Anmärkningar: I ovanstående kod, numret 3 i manuset Kolumner (3) är det kolumnummer som du vill spela upp ljud när värdet ändras i den här kolumnen.
2. Och sedan spara och stäng det här kodfönstret, om ett cellvärde ändras i tredje kolumnen kommer ett standardljud från systemet att spelas upp.
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!