1 / 1 / 1
Регистрация: 25.10.2011
Сообщений: 360
1

Сохранение автоматического изменения значения ячейки

28.10.2011, 00:45. Показов 4104. Ответов 9
Метки нет (Все метки)

Здравствуйте.
В таблице Excel B1=A1*A2.
При каждом изменении значений в А1 и А2, произведение в В1 тоже меняется.
Сохранение автоматического изменения значения ячейки


Нужно, чтобы в столбец D сохранялась вся история изменений ячейки В1, т.е. так:
Название: 2.jpg
Просмотров: 379

Размер: 35.9 Кб

В этом примере макроса описывается сохранение изменения ячейки B1 в столбец D.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 And Target.Row < 2 Then
LastRow = Cells(Rows.Count, 4).End(xlUp).Row
LastRow = LastRow + 1
For Each cel In [b1]
Cells(LastRow, 4) = cel.Value
LastRow = LastRow + 1
Next
End If
End Sub
Дело в том, что в примере значения сохраняются только, если они были изменены вручную. А нужно, чтобы сохранения происходили и тогда, когда изменения значений ячеек происходит автоматически. Помогите, как это сделать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2011, 00:45
Ответы с готовыми решениями:

Изменения формата ячейки в зависимости от значения другой ячейки
Здравствуйте, помогите решить такой вопрос. Задача, которая в принципе решается средствами...

Изменения формата ячейки Excel средствами VBA в зависимости от значения другой ячейки
Здравствуйте. Столкнулся с проблемой. Необходимо на листе Excel Залить, предположим, ячейку &quot;C4&quot;...

Получение значения ячейки DataGridView до ее изменения
В программе в DataGridView применяется метод DataGridView.CellValueChanged, который позволяет...

Сохранение значения ячейки в переменную
У меня есть таблица из нескольких столбцов и строк, использую DBGrid и Query для работы с ней......

9
729 / 405 / 95
Регистрация: 19.12.2010
Сообщений: 756
28.10.2011, 12:55 2
посмотрите может подойдет.
Visual Basic
1
2
3
4
5
6
7
8
Private Sub Worksheet_Activate()
If [b1] <> [l1] Then
LastRow = Cells(Rows.Count, 4).End(xlUp).Row
LastRow = LastRow + 1
Cells(LastRow, 4) = [b1]
[l1] = [b1]
End If
End Sub
1
Вложения
Тип файла: xls История вычислений.xls (31.5 Кб, 79 просмотров)
1 / 1 / 1
Регистрация: 25.10.2011
Сообщений: 360
28.10.2011, 13:08  [ТС] 3
19vitek, спасибо большое. Оно правда не совсем работает, но я попробую разобраться.
0
0 / 0 / 0
Регистрация: 08.10.2021
Сообщений: 1
11.10.2021, 10:14 4
Может тут кто-то еще есть живой и ответит на вопрос как сделать чтобы числа новые сохранялись не в столбик, а в строку и чтобы если автоматически значение меняется,то старое автоматом менялось
0
1955 / 1337 / 626
Регистрация: 23.03.2015
Сообщений: 4,355
11.10.2021, 13:19 5
Maks77777,

Цитата Сообщение от Maks77777 Посмотреть сообщение
Может тут кто-то еще есть живой
Есть такие
Цитата Сообщение от Maks77777 Посмотреть сообщение
ак сделать чтобы числа новые сохранялись не в столбик, а в строку и чтобы если автоматически значение меняется,то старое автоматом менялось
Можно...

Формула в ячейке D1,

строка с результатами - сам попробуй...
0
Вложения
Тип файла: xls for For.xls (28.5 Кб, 20 просмотров)
1955 / 1337 / 626
Регистрация: 23.03.2015
Сообщений: 4,355
11.10.2021, 13:19 6
Попробуй изменять значения в D1
0
74 / 40 / 15
Регистрация: 16.07.2020
Сообщений: 129
11.10.2021, 20:37 7
Цитата Сообщение от Narimanych Посмотреть сообщение
Попробуй изменять значения в D1
Позволю себе подправить, менять значения нужно в ячейках B1 или B2.
0
1955 / 1337 / 626
Регистрация: 23.03.2015
Сообщений: 4,355
11.10.2021, 20:49 8
AlexOld,

В D1--формула. По моим понятиям - измененние в ячейках B1 и B2 приведет к изменению значения в D1.
поэтому ,полагаясь на адекватную логику ТС я сразу и написал изменить значение D1, что автоматически означает изменения в В1 и В2 (в моем примере)... , а если и в В! и В2 -формула - то Бог знает где...
0
74 / 40 / 15
Регистрация: 16.07.2020
Сообщений: 129
11.10.2021, 21:31 9
Narimanych, ваш макрос в таком виде будет выполняться при пересчете любой формулы на листе,поскольку выражение Not Intersect([D1], Range("D1")) Is Nothing всегда истинно. Сейчас на листе только одна формула в ячейке D1, ссылающаяся на аргументы в ячейках B1 и B2, поэтому макрос сработает только при изменении значений а этих ячейках. При изменении значения в D1 формула будет заменена константой и макрос не будет работать.
0
1955 / 1337 / 626
Регистрация: 23.03.2015
Сообщений: 4,355
12.10.2021, 00:01 10
AlexOld,
Формула в ячейке D1 сама меняет значение....

Добавлено через 13 минут
В ячейке может быть формула ,и которая при вычислении генерирует какое-то значение, чтобы изменить значение в ячейке с формулой необходимо изменить значения аргументов функции.

Если вам в математике скажут: измените значение функции, вы стираете ее и пишите вместо нее константу?
Так почему же изменение значения функции в ячейке D1 вызывает у вас бурю ?
Я нигде не сказал заменить функцию константой... изменение значения функции подразумевает изменение значений аргументов....

Добавлено через 8 минут
Цитата Сообщение от AlexOld Посмотреть сообщение
Not Intersect([D1], Range("D1")) Is Nothing
Sorry
Visual Basic
1
2
3
4
5
6
Private Sub Worksheet_Calculate()
    lc = Cells(1, Columns.Count).End(xlToLeft).Column
        If [d1].Value <> Cells(1, lc).Value Then
                Cells(1, lc + 1).Value = [d1].Value
        End If
End Sub
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.10.2021, 00:01

Сохранение файла от значения ячейки
Добрый день, подскажите решение проблемы. Сохранять отчет присваивая имя ячейки BH10.

Кто является причиной изменения значения ячейки DataGridView?
Добрый день! Есть обработчик событий CellValueChanged, прикрученный к DataGridView. Код,...

Изменение значения в ячейки после внесения изменения в поле
Добрый день, уважаемые форумчане. Продолжаю разбираться с макросами. Появилась необходимость...

Сохранение даты и времени изменения значения поля
Приветствую всех! :) В начале, немного грустная, предыстория: Был у нас на предприятии человек,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.