Страницы: 1
RSS
Активация макроса, при смене данных в определенной ячейке
 
Всем привет! Помогите пожалуйста дописать макрос кто умеет. Суть задачи, при выборе в ячейке H1 через выпадающий список любой цифры, нужно что бы активировался макрос. И так происходило при каждом новом выборе цифры из списка. Файл прикладываю.  
 
Цитата
Energo73 написал:
дописать макрос кто умеет
много кто умеет. А что именно не получается? Пробовали применить событие Worksheet_Change? Прописываете в модуле листа нужное, в том числе вызов какого-то макроса и все. Вот здесь есть описание где что искать: Модуль листа
По сути Вам внутрь процедуры Worksheet_Change надо будет просто вписать строку: Call Обновить_прилож. И все.
Пробуйте. А уж что конкретно не получится - спрашивайте. Без обид, но сейчас получается, что Вы просто хотите сделать работу чужими руками, не попробовав сделать самостоятельно  :(  А там делов на 20 секунд - так что стоит попробовать самостоятельно для начала - это будет куда полезнее для Вас, чем готовый файл.
Изменено: Дмитрий(The_Prist) Щербаков - 29.11.2023 13:59:45
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дмитрий(The_Prist) Щербаков, Вроде заработало, не знаю, верно сделал или нет)
Код
Private Sub Worksheet_Change(ByVal Target As Range)    If Target.Address = "$H$1" Then
        Call Обновить_прилож
    End If
End Sub
 
Все верно, насколько могу видеть
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дмитрий(The_Prist) Щербаков, Спасибо за помощь!
 
Всем привет! Подскажите пожалуйста как доработать макрос, что бы активация происходила не только при ручном изменении ячейки $H$1, но и при изменении текста в ячейке другим макросом?
 
Цитата
Energo73 написал:
но и при изменении текста в ячейке другим макросом?
Запускайте макрос 'Обновить_прилож' из того макроса, который меняет ячейку
Код
Sub ДругойМакрос()
  'какой-то код, меняющий значение ячейки
  Call Обновить_прилож
End Sub
Изменено: Sanja - 24.12.2023 07:15:04
Согласие есть продукт при полном непротивлении сторон.

Контакты, благодарности
 
Код
Sub AosrPlus()
    Dim n As Long
    'увеличение значения ячейки на +5
    n = ActiveSheet.Range(Cells(2, 4), Cells(2, 4)).Value
    ActiveSheet.Range(Cells(2, 4), Cells(2, 4)).Value = n + 1
    
End Sub
Sub AosrMinus()
    Dim n As Long
    'уменьшение значения ячейки на +5
    n = ActiveSheet.Range(Cells(2, 4), Cells(2, 4)).Value
    ActiveSheet.Range(Cells(2, 4), Cells(2, 4)).Value = n - 1
        
End Sub
Есть две кнопки (с макросом), которые будут менять содержимое ячейки, если я туда добавляю макрос (Обновить_прилож). то выдает ошибку.
Код
a = Cells(4, 4).Formula
b = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1
Range(Cells(4, 4), Cells(b, 25)).ClearContents
Rows.EntireRow.AutoFit
Cells(4, 4).Formula = a
Range(Cells(4, 4), Cells(b, 25)).FillDown
End Sub
 
Цитата
Energo73 написал:
если я туда добавляю макрос (Обновить_прилож)
Нужно добавить не сам макрос, а его вызов (Call). См. мое сообщение выше
Согласие есть продукт при полном непротивлении сторон.

Контакты, благодарности
 
Sanja, Благодарю! Все заработало)  Не особо силен в макросах, потихоньку изучаю благодаря форуму и подсказкам знатоков
Страницы: 1
Наверх