Задача: есть лист с таблицей. в определенных диапазонах таблицы идет элементарное вычисление, типа =N*5% или =N*10%, что собственно и прописывается вручную в каждой ячейке соответствующего диапазона. Узнал, что можно создать макрос, который при вводе N сможет сразу выдавать результат в той же ячейке, где вводится. И можно ли при выделении этой ячейки видеть формулу, чтобы быть уверенным, что умножение производится на соответсвующий процент.
Немного о ситуации: Чем больше углубляюсь в тему и чем сложнее пишу код (адаптируя примеры с этого форума), тем больше ошибок и вопросов... Вроде задача простая, но знаний не хватает собрать в один код. Буду признателен за любые подсказки.
на данный момент использую ручной метод:
Код
Sub MultAllCells()
Dim dblMult As Double
Dim cell As Range
dblMult = 0.05
For Each cell In Selection
cell.Value = cell.Value * dblMult
Next
End Sub
Пример: В ячейку С1 я ввожу 1000. При нажатии "Enter" значение ячейки С1 равно 50 (по формуле 1000*5%). Сама же ячейка имеет вид формулы "=1000*5%". И такое условие, дупустим до ячейки С9. То есть в конкретном диапазоне это условие. В тоже время в ячейку Е1 я ввожу 2000. При нажатии "Enter" значение ячейки Е1 равно 200 (по формуле 2000*10%). Сама же ячейка Е1 имеет вид формулы "=2000*10%". И тоже в диапазоне до Е9.
Исключительно в порядке удовлетворения собственного любопытства: yourunm, скажите для каких задач Вы используете подобную корректировку введённых значений? и почему нельзя / не хочется пользоваться стандартным функционалом MS Excel: вводить данные в одних ячейках, а производить вычисления над ними и выводить полученные результаты уже в других ячейках?
По собственному опыту я могу сказать, что стандартный функционал осваивается гораздо легче, чем возможности VBA...