Jak odtworzyć dźwięk, jeśli warunek jest spełniony w programie Excel?
W programie Excel możemy zastosować formatowanie warunkowe, aby sformatować i podświetlić komórki, aby spełnić wymagany warunek, ale czasami możesz chcieć odtworzyć dźwięk, jeśli warunek zostanie spełniony. Na przykład, jeśli wartość komórki w A1 jest większa niż 300, chcę, aby odtwarzany był dźwięk. Excel nie obsługuje tej funkcji, w tym artykule przedstawię kilka kodów VBA, aby rozwiązać to zadanie.
Odtwórz domyślny dźwięk systemowy na podstawie wartości komórki z kodem VBA
Odtwórz niestandardowy dźwięk na podstawie wartości komórki z kodem VBA
Odtwórz dźwięk, jeśli wartość komórki zmieni się w określonej kolumnie z kodem VBA
Odtwórz domyślny dźwięk systemowy na podstawie wartości komórki z kodem VBA
Oto przydatny kod umożliwiający odtworzenie domyślnego sygnału dźwiękowego systemu, gdy zostanie spełniony określony warunek, wykonaj następujące czynności:
1. Przytrzymaj przycisk ALT + F11 klucze, a następnie otwiera Microsoft Visual Basic for Applications okno.
2. Kliknij wstawka > Modułi wklej następujący kod w Moduł Okno.
Kod VBA: odtwórz domyślny dźwięk systemowy na podstawie wartości komórki:
Function BeepMe() As String
Beep
BeepMe = ""
End Function
3. Następnie zapisz i zamknij to okno kodu, wróć do arkusza i wprowadź następującą formułę: = JEŻELI (A1> 300, BeepMe (); „”) do pustej komórki obok komórki zawiera wartość, na podstawie której chcesz odtworzyć dźwięk, a następnie naciśnij Wchodzę klucz, nic nie zostanie wyświetlone w komórce formuły, patrz zrzut ekranu:
4. A teraz, jeśli wprowadzona wartość w komórce A1 jest większa niż 300, zostanie odtworzony domyślny dźwięk systemowy.
Odtwórz niestandardowy dźwięk na podstawie wartości komórki z kodem VBA
Jeśli chcesz odtworzyć inny dźwięk niż domyślny dźwięk systemowy, tutaj również kod VBA może ci wyświadczyć przysługę.
1. Przytrzymaj ALT + F11 klucze, a następnie otwiera Microsoft Visual Basic for Applications okno.
2. Kliknij wstawka > Modułi wklej następujący kod w Moduł Okno.
Kod VBA: odtwórz określony dźwięk na podstawie wartości komórki:
#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. Następnie zapisz i zamknij to okno kodu, wróć do arkusza i wprowadź następującą formułę: = JEŻELI (A1> 300, SoundMe (); „”)do pustej komórki obok komórki zawiera wartość, na podstawie której chcesz odtworzyć dźwięk, a następnie naciśnij Wchodzę klucz, nic nie zostanie wyświetlone w komórce formuły, patrz zrzut ekranu:
4. Odtąd, jeśli do komórki A300 zostanie wpisana wartość większa niż 1, od razu będzie odtwarzany określony dźwięk.
Uwagi: W powyższym kodzie możesz zmienić plik dźwiękowy wav do swoich potrzeb z c: \ windows \ media \ ścieżka pliku. Zobacz zrzut ekranu:
Odtwórz dźwięk, jeśli wartość komórki zmieni się w określonej kolumnie z kodem VBA
Jeśli chcesz odtworzyć dźwięk, jeśli wartość komórki zmieni się w określonej kolumnie, możesz zastosować następujący kod VBA.
1. Kliknij prawym przyciskiem myszy kartę arkusza, na którym chcesz odtworzyć dźwięk, gdy wartość zmieni się w kolumnie, a następnie wybierz Wyświetl kod z menu kontekstowego oraz w otwartym Microsoft Visual Basic dla aplikacji w oknie, skopiuj i wklej następujący kod do pustego modułu:
Kod VBA: odtwórz dźwięk, jeśli wartość komórki zmieni się w kolumnie:
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: W powyższym kodzie numer 3 w skrypcie Kolumny (3) to numer kolumny, którą chcesz odtwarzać dźwięk, gdy wartość zmieni się w tej kolumnie.
2. A następnie zapisz i zamknij to okno kodu, teraz, jeśli wartość komórki zmieni się w trzeciej kolumnie, zostanie odtworzony domyślny dźwięk systemowy.
Najlepsze narzędzia biurowe
Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas. Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...
Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę
- Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
- Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
- Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!