Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/воспроизведение звукового сигнала при изменении в ячейке - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
воспроизведение звукового сигнала при изменении в ячейке
maxx Дата: Вторник, 17.02.2026, 21:37 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 59
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
добрый вечер.
у меня есть огромный список, я перенес его в эксель. и есть специальный сканер и масса товаров, которые нужно сканировать для поиска совпадений. совпало - в ячейке надпись "да", не совпало-"нет".
можно ли вот эти вариации с ДА-НЕТ обыграть звуковым сигналом? каким то стандартным из виндовс... Если честно лезть с ноутом на верха стеллажей такое себе...
коллега говорит у него так и работает, но только когда ДА...
спасибо за любой ответ...


начинающий
 
Ответить
Сообщениедобрый вечер.
у меня есть огромный список, я перенес его в эксель. и есть специальный сканер и масса товаров, которые нужно сканировать для поиска совпадений. совпало - в ячейке надпись "да", не совпало-"нет".
можно ли вот эти вариации с ДА-НЕТ обыграть звуковым сигналом? каким то стандартным из виндовс... Если честно лезть с ноутом на верха стеллажей такое себе...
коллега говорит у него так и работает, но только когда ДА...
спасибо за любой ответ...

Автор - maxx
Дата добавления - 17.02.2026 в 21:37
MikeVol Дата: Вторник, 17.02.2026, 22:21 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 468
Репутация: 113 ±
Замечаний: 0% ±

MSO LTSC 2021 EN
maxx, Идея взята отсюда, не мой код.
можно ли вот эти вариации с ДА-НЕТ обыграть звуковым сигналом?
- Можно, ео логика за вами.
[vba]
Код
#If VBA7 Then
Public Declare PtrSafe Function Beep Lib "kernel32" _
        (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
#Else
Public Declare Function Beep Lib "kernel32" _
        (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
#End If

Sub beeps(melody As String, Optional ByVal BeepTime As Integer = 200): mr = "qazwsxedcrfvtgbyhnujmik,ol.p;/['"
    
    For i = 1 To Len(melody)
        DoEvents
        nextlen = 1: letter = Mid$(melody, i, 1)
        nota = InStr(1, mr, letter)
        If IsNumeric(letter) And letter > 0 Then nextlen = letter: i = i + 1: nota = InStr(1, mr, Mid$(melody, i, 1))
        If nota > 0 Then tone = 220 * (2 ^ ((nota - 1) / 12)): a = Beep(tone, nextlen * BeepTime) Else: a = Beep(30000, nextlen * BeepTime / 5)
    Next:

End Sub

Sub beepH(): beeps "k", 800: End Sub
Sub BeepH2(): beeps "k,k", 400: End Sub
[/vba] Я так тестировал, код [vba]
Код
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo CleanExit
    If Intersect(Target, Me.Range("B2:B100")) Is Nothing Then Exit Sub
    If Target.CountLarge > 1 Then Exit Sub
    Application.EnableEvents = False

    If Target.Value = "Да" Then
        beepH       ' звук если совпало
    Else
        BeepH2      ' звук если НЕ совпало
    End If

CleanExit:
    Application.EnableEvents = True
End Sub
[/vba] вставил в модуль листа


Ученик.
Одесса - Украина
 
Ответить
Сообщениеmaxx, Идея взята отсюда, не мой код.
можно ли вот эти вариации с ДА-НЕТ обыграть звуковым сигналом?
- Можно, ео логика за вами.
[vba]
Код
#If VBA7 Then
Public Declare PtrSafe Function Beep Lib "kernel32" _
        (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
#Else
Public Declare Function Beep Lib "kernel32" _
        (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
#End If

Sub beeps(melody As String, Optional ByVal BeepTime As Integer = 200): mr = "qazwsxedcrfvtgbyhnujmik,ol.p;/['"
    
    For i = 1 To Len(melody)
        DoEvents
        nextlen = 1: letter = Mid$(melody, i, 1)
        nota = InStr(1, mr, letter)
        If IsNumeric(letter) And letter > 0 Then nextlen = letter: i = i + 1: nota = InStr(1, mr, Mid$(melody, i, 1))
        If nota > 0 Then tone = 220 * (2 ^ ((nota - 1) / 12)): a = Beep(tone, nextlen * BeepTime) Else: a = Beep(30000, nextlen * BeepTime / 5)
    Next:

End Sub

Sub beepH(): beeps "k", 800: End Sub
Sub BeepH2(): beeps "k,k", 400: End Sub
[/vba] Я так тестировал, код [vba]
Код
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo CleanExit
    If Intersect(Target, Me.Range("B2:B100")) Is Nothing Then Exit Sub
    If Target.CountLarge > 1 Then Exit Sub
    Application.EnableEvents = False

    If Target.Value = "Да" Then
        beepH       ' звук если совпало
    Else
        BeepH2      ' звук если НЕ совпало
    End If

CleanExit:
    Application.EnableEvents = True
End Sub
[/vba] вставил в модуль листа

Автор - MikeVol
Дата добавления - 17.02.2026 в 22:21
maxx Дата: Вторник, 17.02.2026, 23:27 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 59
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
MikeVol, спасибо большое. сам я не знаток, но покажу кому нужно.


начинающий
 
Ответить
СообщениеMikeVol, спасибо большое. сам я не знаток, но покажу кому нужно.

Автор - maxx
Дата добавления - 17.02.2026 в 23:27
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2026 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!