Перейти к содержимому

Как воспроизвести звук при выполнении условия в Excel?

Author: Xiaoyang Last Modified: 2025-08-07

В Excel мы можем применить Условное форматирование для форматирования и выделения ячеек, чтобы соответствовать необходимому условию, но иногда вам может понадобиться воспроизвести звук, если условие выполнено. Например, если значение ячейки A1 больше 300, я хочу, чтобы воспроизводился звук. Excel не поддерживает эту функцию, в этой статье я представлю несколько кодов VBA для решения этой задачи.

Воспроизведение стандартного системного звукового сигнала на основе значения ячейки с помощью кода 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, ничего не будет отображаться в ячейке формулы, см. скриншот:

a screenshot showing how to play default system beep sound when a cell value matches a certain condition

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, ничего не будет отображаться в ячейке формулы, см. скриншот:

a screenshot showing how to play a custom sound when a cell value matches a certain condition

4. С этого момента, если значение больше 300 введено в ячейку A1, определенный звук будет воспроизводиться сразу.

Примечания: В приведенном выше коде вы можете изменить файл звука WAV по вашему усмотрению из пути файла c:\windows\media\. См. скриншот:

a screenshot of selecting a sound


Воспроизведение звука при изменении значения ячейки в определенном столбце с помощью кода 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

a screenshot of using a VBA code

Примечание: В приведенном выше коде число 3 в скрипте Columns(3) — это номер столбца, в котором вы хотите воспроизвести звук при изменении значения в этом столбце.

2. Затем сохраните и закройте это окно кода, теперь, если значение ячейки изменится в третьем столбце, будет воспроизводиться стандартный системный звуковой сигнал.


Лучшие инструменты для повышения продуктивности в Office

🤖 Kutools AI Aide: Переворот в анализе данных на основе: Интеллектуальное выполнение   |  Сгенерировать код  |  Создать Пользовательские Формулы  |  Анализ данных и генерация диаграмм  |  Вызов Kutools Functions
Популярные функции: Найти, выделить или отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячейки без потери данных   |   Округлить...
Супер ПОИСК: VLookup с несколькими критериями    VLookup с несколькими значениями  |   Многолистовой поиск   |   Распознавание нечетких соответствий ....
Расширенный раскрывающийся список: Быстро создать раскр. список   |  Зависимый раскрывающийся список   |  Множественный выбор в раскрывающемся списке ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка фокусировки   |  Дизайн листа   |   Улучшенная строка формулы    Управление книгой и листами   |  Библиотека автотекста (Auto Text)   |  Выбор даты   |  Объединить данные   |  Шифрование/Расшифровка ячеек    Отправить письмо по списку   |  Супер фильтр   |   Специальный фильтр (фильтр по жирному/курсиву/зачеркиванию...) ...
Топ–15 наборов инструментов: 12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...)   |   50+ типов диаграмм (Диаграмма Ганта, ...)   |   40+ практических формул (Расчет возраста на основе даты рождения, ...)   |   19 инструментов вставки (Вставить QR-код, Вставить изображение из пути, ...)   |  12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...)   |  7 инструментов объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...)   |   ... и многое другое
Используйте Kutools на вашем предпочитаемом языке – поддерживаются английский, испанский, немецкий, французский, китайский и более40 других языков!

Повысьте свои навыки работы в Excel с Kutools для Excel и ощутите новую эффективность. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени.  Щелкните здесь, чтобы получить наиболее нужную вам функцию...


Office Tab добавляет вкладочный интерфейс в Office, делая вашу работу значительно проще

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна, а не в новых окнах.
  • Увеличьте свою продуктивность на50% и сократите сотни кликов мышью ежедневно!