Страницы: 1
RSS
Обнуление определенных ячеек в таблице при изменение каких либо данных в других таблицах
 
Добрый день,макросы писать не умею поэтому через сделал через запись макроса, подскажите что нужно вставить в макрос?
Есть несколько таблиц, в одной таблице с помощью макроса подсчитывается стоимость кредита, по данным из других таблиц. Нужно чтобы при изменение данных (любых), в той таблице где подсчитывается кредит, определенные ячейки становились пустыми, а после нажатия макроса они появлялись, а то у меня получается что при нажатие на макрос он все рассчитал, а потом когда в таблице данных что то изменяешь, сам расчет не изменяется, дабы предотвратить использование ошибочных данных, нужно чтобы ячейки становились пустыми, а после нажатия на кнопку макроса все считалось. На всякий случай прикрепляю тот код
Код
Sub Макрос2()
'
' Макрос2 Макрос
'

'
    Range("F46:F49,F54:F55,F60:F63").Select
    Range("F60").Activate
    Selection.Copy
    Range("C69").Select
    Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
    Range("B69").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = ""
    Range("G46:G49,G54:G55").Select
    Range("G54").Activate
    Selection.Copy
    Range("D69").Select
    Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
    Range("D65").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = ""
    Range("H60:H63").Select
    Selection.Copy
    Range("D75").Select
    Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
    Range("F65").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = ""
    Range("C69:D78").Select
    ActiveWorkbook.Worksheets("Detailed").sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Detailed").sort.SortFields.Add Key:=Range( _
        "C69:C78"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Detailed").sort
        .SetRange Range("C68:D78")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("G64").Select
End Sub

 
Добрый день.
1. Может, проще написать макрос на событие "изменение значений таких-то ячеек, на таких-то листах" и при наступлении такого события запускать макрос расчета кредита по новой?
2. Не видя структуры данных очень тяжело оценивать код (файл-пример будет полезен).
Кому решение нужно - тот пример и рисует.
 
Цитата
Пытливый написал:
1. Может, проще написать макрос на событие "изменение значений таких-то ячеек, на таких-то листах" и при наступлении такого события запускать макрос расчета кредита по новой?
дело в том что этот файл как шаблон, в него заходит любой человек из компании вводит свои данные, нажимает на кнопку и получает результат.
Цитата
Пытливый написал:
2. Не видя структуры данных очень тяжело оценивать код (файл-пример будет полезен).
файл-пример прикрепить проблематично, но если без него никак то постараюсь сделать.

p.s. вообще как я думал, может просто вставить часть кода, что то вроде, если в диапазоне A1:Q64 изменения внесли то табличка с результатом стала пустой, нажали на кнопку - посчитал.
 
Проще, на мой взгляд, как я уже написал, если внесли изменения в любую ячейку A1:Q64 - пересчитать макросом результат (и перезаписать его).
Кому решение нужно - тот пример и рисует.
 
так он так и делает: изменил значения, нажал на кнопку, пересчитал результа
 
Если забыл нажать на кнопку - что тогда? :) Зачем жать на кнопку, когда можно все поручить тупому и исполнительному механизму?
Кому решение нужно - тот пример и рисует.
 
чтобы не делать много различных операция в ручную
 
Идея Пытливого направлена на то,
Цитата
kosyak777 написал:
чтобы не делать много различных операция в ручную
У меня в одном документе такое работает, очень удобно.
 
скинь пожалуйста посмотреть?
 
1. На этом форуме с незнакомыми - на "Вы".
2. Перестаньте для простого ответа жать кнопку цитирования!
Страницы: 1
Наверх