Страницы: 1
RSS
Вызов одного макроса из другого, Макрос запускаемый при изменении значения в ячейке для замены формулы на результат
 
Подскажите корректно настроить макрос так чтобы он запускался когда в указанный диапазон ячеек (например, А1:A3) будет введено число, тогда в этот момент в соседней ячейке где забита формула (=A1*0,9) будет запущен макрос и формула изменится на результат


Этот не работает корректно!


Код
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, Range("A1:A3")) Is Nothing Then
   If Target <> 0 Then
     MsgBox "Ок"
     Sub Formulas_To_Values_Sheet()
 'преобразование формул в значения на текущем листе
     ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
 End Sub
   End If
 End If
End Sub
 
Александр 1331,

Зачем изобретать велосипед, просто обычные формулы отлично справляются с данной задачей
Впитываю знания, как борщ после тренировки ^^)
 
Нет. обычными формулами здесь не обойтись.
Так как в этот файл еще автоматически парсятся в диапазон А1:А3 значения поэтому необходимо через макрос.  
 
Александр 1331, добрый день! Поправьте, пожалуйста, свое сообщение - код макроса нужно выделить и нажать <...>
 
Александр 1331,
Код
=ДВССЫЛ("A"&СТРОКА())*B1

попробуйте так, теперь из загрузке значений формула не будет сбиваться
Впитываю знания, как борщ после тренировки ^^)
 
Код
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, Range("A1:A3")) Is Nothing Then
   If Target <> 0 Then
     ActiveSheet.Range("C" & Target.Row) = ActiveSheet.Range("C" & Target.Row).Value
      MsgBox "Ok"
    End If
 End If
End Sub
 
Цитата
Молодое_Поколение написал:
зке значений формула не будет сбиваться
В том же и задача чтобы формула изменилась на результат при изменении значений A1:A3
 
Александр 1331, из вашего описания непонятна суть задачи, напишите подробней  
Впитываю знания, как борщ после тренировки ^^)
 
Александр 1331,
нельзя просто так взять и вписать один макрос в другой
Коды
ошибки не проверял (Настя сделала готовый вариант) - просто схематично показал, как правильно написать код в таком случае
Название темы: Вызов одного макроса из другого
Изменено: Jack Famous - 30.06.2020 14:08:11
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Александр 1331, код в сообщении #6 не подходит?
Изменено: Настя_Nastya - 30.06.2020 12:11:04
 
Только зарегился не ожидал на такую обратную связь)) и тут еще от админки "Сообщение запрещено. Данные отправляются слишком часто. Подождите несколько минут".

Настя_Nastya, , Больше спасибо!!!)))
Битый час потратил безрезультатно.. а Вы сходу.
Формула в #6 подходит.  
Страницы: 1
Наверх