Как воспроизвести звук при выполнении условия в Excel?
В Excel мы можем применить Условное форматирование для форматирования и выделения ячеек, чтобы соответствовать необходимому условию, но иногда вам может понадобиться воспроизвести звук, если условие выполнено. Например, если значение ячейки A1 больше 300, я хочу, чтобы воспроизводился звук. Excel не поддерживает эту функцию, в этой статье я представлю несколько кодов VBA для решения этой задачи.
Воспроизведение пользовательского звука на основе значения ячейки с помощью кода VBA
Воспроизведение звука при изменении значения ячейки в определенном столбце с помощью кода VBA
Воспроизведение стандартного системного звукового сигнала на основе значения ячейки с помощью кода VBA
Вот удобный код для вас, чтобы воспроизвести стандартный системный звуковой сигнал, когда выполняется определенное условие, сделайте следующее:
1. Нажмите и удерживайте клавиши ALT + F11, затем откроется окно Microsoft Visual Basic for Applications.
2. Щелкните Вставить > Модуль и вставьте следующий код в окно Модуля.
Код VBA: Воспроизведение стандартного системного звукового сигнала на основе значения ячейки:
Function BeepMe() As String
Beep
BeepMe = ""
End Function
3. Затем сохраните и закройте это окно кода, вернитесь к листу и введите эту формулу: =IF(A1>300,BeepMe(),"") в пустую ячейку рядом с ячейкой, содержащей значение, по которому вы хотите воспроизвести звук, а затем нажмите клавишу Enter, ничего не будет отображаться в ячейке формулы, см. скриншот:
4. И теперь, если введенное значение в ячейке A1 больше 300, будет воспроизводиться стандартный системный звуковой сигнал.
Воспроизведение пользовательского звука на основе значения ячейки с помощью кода VBA
Если вы хотите воспроизвести другой звук, отличный от стандартного системного звукового сигнала, вот код VBA, который может помочь.
1. Нажмите и удерживайте клавиши ALT + F11, затем откроется окно Microsoft Visual Basic for Applications.
2. Щелкните Вставить > Модуль и вставьте следующий код в окно Модуля.
Код VBA: Воспроизведение определенного звука на основе значения ячейки:
#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. Затем сохраните и закройте это окно кода, вернитесь к листу и введите эту формулу: =IF(A1>300,SoundMe(),"") в пустую ячейку рядом с ячейкой, содержащей значение, по которому вы хотите воспроизвести звук, а затем нажмите клавишу Enter, ничего не будет отображаться в ячейке формулы, см. скриншот:
4. С этого момента, если значение больше 300 введено в ячейку A1, определенный звук будет воспроизводиться сразу.
Примечания: В приведенном выше коде вы можете изменить файл звука WAV по вашему усмотрению из пути файла c:\windows\media\. См. скриншот:
Воспроизведение звука при изменении значения ячейки в определенном столбце с помощью кода VBA
Если вы хотите воспроизвести звук при изменении значения ячейки в определенном столбце, вы можете применить следующий код VBA.
1. Щелкните правой кнопкой мыши вкладку листа, где вы хотите воспроизвести звук при изменении значения в столбце, затем выберите Просмотреть код из контекстного меню, и в открывшемся окне Microsoft Visual Basic for Applications скопируйте и вставьте следующий код в пустой Модуль:
Код VBA: Воспроизведение звука при изменении значения ячейки в столбце:
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
Примечание: В приведенном выше коде число 3 в скрипте Columns(3) — это номер столбца, в котором вы хотите воспроизвести звук при изменении значения в этом столбце.
2. Затем сохраните и закройте это окно кода, теперь, если значение ячейки изменится в третьем столбце, будет воспроизводиться стандартный системный звуковой сигнал.
Лучшие инструменты для повышения продуктивности в Office
Повысьте свои навыки работы в Excel с помощью Kutools для Excel и ощутите эффективность на новом уровне. Kutools для Excel предлагает более300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы выбрать функцию, которая вам нужнее всего...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите режим вкладок для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна вместо новых отдельных окон.
- Увеличьте свою продуктивность на50% и уменьшите количество щелчков мышью на сотни ежедневно!
Все надстройки Kutools. Один установщик
Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.





- Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
- Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
- Совместная работа — максимальная эффективность между приложениями Office
- 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
- Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек