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