Совет. Другие языки - Google-Translated. Вы можете посетить English версия этой ссылки.
Войти
x
or
x
x
Регистрация
x

or

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

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

Воспроизводить звуковой сигнал системы по умолчанию, основанный на значении ячейки с кодом VBA

Воспроизведение настраиваемого звука на основе значения ячейки с кодом VBA

Воспроизведение звука, если значение ячейки изменяется в определенном столбце с кодом VBA


arrow синий правый пузырь Воспроизводить звуковой сигнал системы по умолчанию, основанный на значении ячейки с кодом VBA

Вот удобный код для воспроизведения звукового сигнала системы по умолчанию, когда выполняется определенное условие, выполните следующие действия:

1. Удерживая нажатой ALT + F11 , то он открывает Microsoft Visual Basic для приложений окна.

2. Щелчок Вставить > модуль, и вставьте следующий код в модуль Окно.

Код VBA: воспроизведение звукового сигнала системы по умолчанию на основе значения ячейки:

Function BeepMe() As String
    Beep
    BeepMe = ""
End Function

3, Затем сохраните и закройте это окно кода, вернитесь на рабочий лист и введите следующую формулу: = ЕСЛИ (A1> 300, BeepMe () "") в пустую ячейку рядом с ячейкой находится значение, которое вы хотите воспроизвести на основе звука, а затем нажмите вводить ключ, ничего не будет отображаться в ячейке формулы, см. снимок экрана:

doc воспроизводить звук, если conditon true 1

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


arrow синий правый пузырь Воспроизведение настраиваемого звука на основе значения ячейки с кодом VBA

Если вы хотите воспроизвести другой звук, чем звуковой сигнал по умолчанию, здесь также код VBA может оказать вам услугу.

1, Удерживайте ALT + F11 , то он открывает Microsoft Visual Basic для приложений окна.

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, Затем сохраните и закройте это окно кода, вернитесь на рабочий лист и введите следующую формулу: = ЕСЛИ (A1> 300, SoundMe () "")в пустую ячейку рядом с ячейкой находится значение, которое вы хотите воспроизвести на основе звука, а затем нажмите вводить ключ, ничего не будет отображаться в ячейке формулы, см. снимок экрана:

doc воспроизводить звук, если conditon true 2

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

Примечания: В приведенном выше коде вы можете изменить звуковой файл wav на свою C: \ Windows \ Media \ Путь к файлу. Смотрите скриншот:

doc воспроизводить звук, если conditon true 3


arrow синий правый пузырь Воспроизведение звука, если значение ячейки изменяется в определенном столбце с кодом VBA

Если вы хотите воспроизвести звук, если значение ячейки изменяется в определенном столбце, вы можете применить следующий код VBA.

1, Щелкните правой кнопкой мыши вкладку листа, которую вы хотите воспроизвести, когда значение изменится в столбце, а затем выберите Просмотреть код из контекстного меню и в открывшемся Microsoft Visual Basic для приложений окно, скопируйте и вставьте следующий код в пустой модуль:

Код 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

doc воспроизводить звук, если conditon true 4

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

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


Kutools для Excel - лучший инструмент для повышения производительности в офисе Повысьте производительность на 80%

  • Супер Формула Бар (легко редактировать несколько строк текста и формул); Макет чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы и хранение данных; Содержание сплит-клеток; Объедините дублирующиеся строки и сумму / среднее... предотвратить повторяющиеся клетки; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выберите пустые строки (все ячейки пусты); Супер найти и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения формулы ссылки; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Любимые и быстро вставляемые формулы, Диапазоны, графики и рисунки; Шифрование ячеек с паролем; Создать список рассылки и отправлять электронные письма ...
  • Извлечение текстаДобавить текст, Удалить по позиции, Удалить пространство; Создание и печать промежуточных итогов подкачки; Преобразование содержимого ячеек и комментариев...
  • Суперфильтр (сохранить и применить схемы фильтров к другим листам); Расширенный поиск по месяцам / неделям / дням, частоте и более; Специальный фильтр жирным шрифтом, курсивом ...
  • Объединить рабочие тетради и рабочие листы; Объединение таблиц на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Работает с Office 2007-2019 и 365 и поддерживает все языки. Это легко развернуть в вашей компании. Полнофункциональная 60-дневная бесплатная пробная версия.
вкладка kte 201905

Вкладка «Office» предоставляет интерфейс с вкладками для Office и упрощает работу

  • Включить редактирование и чтение с вкладками в Word, Excel, PowerPoint, Издатель, Доступ, Visio и Проект.
  • Открывайте и создавайте несколько документов в новых вкладках одного и того же окна, а не в новых окнах.
  • Увеличивает вашу производительность на 50% и уменьшает сотни щелчков мышью для вас каждый день!
нижняя часть офиса
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    devraj · 1 months ago
    code is not working what i can do
  • To post as a guest, your comment is unpublished.
    Shehzad · 6 months ago
    Hey admin, please tell , if i want to save sound file in excel file and i will open my excel file in any computer , can i hear that sound ???
    • To post as a guest, your comment is unpublished.
      skyyang · 6 months ago
      Hello, Shehzad,
      If you apply the first and third VBA code to play a default system beep sound, the sound can be hear from any other computer. But, with the second vba code, you should set the custom sound to your need.

      Note: You should save the workbook as Excel Macro-Enabled Workbook format.
  • To post as a guest, your comment is unpublished.
    Excelakos · 2 years ago
    Hi there
    I try to use the Play a custom sound based on cell value with VBA code but i have a problem. Here is an example:
    I have a time countdown in cell A1 which means value changes per second.
    Then in cell B1 i have inserted =8/(24*60) in a 0:08:00 format
    So the if i use to trigger the sound is if B1>A1,SoundMe(),""
    But the sound will never be heard. I can hear a sound like something is looping and i guess it has something to do with the fact that the value is dynamically changing.
    Then i tried to alter the code in the part Call PlaySound("c:\windows\media\Speech On.wav", _
    0, SND_ASYNC Or SND_FILENAME)
    I changed SND_ASYNC with SND_SYNC.

    This way i managed to play the sound, but it gets repeating forever.

    Is there any solution like to trigger the sound only once meaning just the very first time the criteria is met and then stop ??
    Thank you a lot