Всем привет! Как сделать так, чтобы при появлении в ячейке числа больше, например,чем 20 звучал какой-нибудь устрашающий звук (например злой рок из Моцарта)? Число в ячейке в виде ссылки.
Я записал макрос запуска звукового файла. Теперь нужно записать макрос, который запускает этот макрос при условии, что в ячейке U6 значение больше или равно 15? Спутал Моцарта с Бетховеном(первые звуки симфонии №5).
ячейка U6 ссылается на другую ячейку на другом листе. И если в той другой ячейке данное меняется и больше 15 -ничего не происходит. если же в ячейку U6 непосредственно ввести значение больше 15, то все работает.
Исходное значение ,которое не должно превышать 15,передается в эксель с измерительного прибора через компорт в текстовом формате , поэтому много ссылок.
Данные с прибора попадают на лист Kat1 в белые ячейки без заливки(E7:L10).
На листе Лист2 текстовый формат с точкой преобразовывается в числовой формат с запятой. вычисляются всякие средние , максимумы и т.п. для передачи в базу данных.
Я писал все это сам на дилетантском уровне, так что не ужасайтесь и не презирайте меня сильно.
Мне нужно сделать так, что если значение больше 15мА, то звучит предупреждающий сигнал, а если больше 20мА, то звучит сигнал тревоги-т.е. два сигнала. но тут хотябы с одним разобраться...
проверил. При вводе любого значения в ячейки E7:L10 появляется сообщение "могу выполнить макрос2"
Вернее так-если в какой-либо ячейке из E7:L10 уже есть значение >15, то сообщение появляется при вводе любого значения в другие ячейки. вот если бы сообщение появлялось однократно...
Значение в диапазоне E7:L10 не проверяется, в нём перехватывается факт изменения. Проверяется значение в ячейке Cells(6, 21) >= 15 (U6>=15). В файле много формул, какие ячейки влияют на значение в U6 не проверял. Смоделируйте ситуацию когда в ячейке будет значение <15 - сообщение появляться не будет.
Вариант: рисуем на листе TextBox (скрываем его), куда считывается ЗНАЧЕНИЕ из контролируемой ячейки. Отслеживаем Change в нашем TextBox и по условию вызываем макрос воспроизведения.
Dim a100 - объявление переменной, которой нет в вашем коде. Нужно?
Вариант:
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("U21").Value >= 15 Or Range("U22").Value >= 15 Then
Call Макрос2
Range("U21:U22").Value = 0
End If
End Sub
Если обнулять ячейки вместе нельзя, заменить строку с обнулением на код:
Код
If Range("U21").Value >= 15 Then Range("U21").Value = 0
If Range("U22").Value >= 15 Then Range("U22").Value = 0