Всем привет... При создании таблицы для работы столкнулся с проблемкой... Хотелось бы узнать возможно ли сделать так (макрос или формулой), чтобы число из другой ячейки прибавлялось к уже существующему значение... Поясню: например в одной ячейке число 3 и в другой ячейке число 3... при изменении первой ячейки на число 5, оно автоматически прибавлялось бы к другой ячейки, т.е. к 3... итого во второй ячейке должно получится 8..... но это не всё... опять при изменении первой ячейки например на число 5, во второй ячейке прибавлялось бы это число уже к полученному числу 8, т.е. оно менялось бы уже на число 13.... Объяснил как мог)))) просто для составления графиков было бы очень удобно, подсчёты велись бы все автоматически))) помогите пожалуйста)
Всем привет... При создании таблицы для работы столкнулся с проблемкой... Хотелось бы узнать возможно ли сделать так (макрос или формулой), чтобы число из другой ячейки прибавлялось к уже существующему значение... Поясню: например в одной ячейке число 3 и в другой ячейке число 3... при изменении первой ячейки на число 5, оно автоматически прибавлялось бы к другой ячейки, т.е. к 3... итого во второй ячейке должно получится 8..... но это не всё... опять при изменении первой ячейки например на число 5, во второй ячейке прибавлялось бы это число уже к полученному числу 8, т.е. оно менялось бы уже на число 13.... Объяснил как мог)))) просто для составления графиков было бы очень удобно, подсчёты велись бы все автоматически))) помогите пожалуйста)NikolassMC
Т.е. Вы хотите, чтобы когда в ячейку, допустим А1 введно "5", в B1 было, условно, 8... и при повторном вбитии в А1 "5" (т.е. по факту - ничего не изменилось) - в B1 становилось 13?
Т.е. Вы хотите, чтобы когда в ячейку, допустим А1 введно "5", в B1 было, условно, 8... и при повторном вбитии в А1 "5" (т.е. по факту - ничего не изменилось) - в B1 становилось 13?ArkaIIIa
Т.е. Вы хотите, чтобы когда в ячейку, допустим А1 введно "5", в B1 было, условно, 8... и при повторном вбитии в А1 "5" (т.е. по факту - ничего не изменилось) - в B1 становилось 13?
Да да да... именно так... просто при использовании больших чисел могу спутаться, а если бы была такая формула в exel то уже оплошности не допустил бы...
Т.е. Вы хотите, чтобы когда в ячейку, допустим А1 введно "5", в B1 было, условно, 8... и при повторном вбитии в А1 "5" (т.е. по факту - ничего не изменилось) - в B1 становилось 13?
Да да да... именно так... просто при использовании больших чисел могу спутаться, а если бы была такая формула в exel то уже оплошности не допустил бы...NikolassMC
Public Sub WorkSheet_Change(ByVal Target As Range) If Application.Intersect(Target, Range("A1")) Is Nothing Then Exit Sub Range("B1").Value = Range("B1").Value + Range("A1").Value End Sub
[/vba]
В модуль листа [vba]
Код
Public Sub WorkSheet_Change(ByVal Target As Range) If Application.Intersect(Target, Range("A1")) Is Nothing Then Exit Sub Range("B1").Value = Range("B1").Value + Range("A1").Value End Sub
Извините но столкнулся ещё с одной проблемой(((((( с одной ячейкой всё получается, а как добавить, чтобы также было и со строчкой ниже.... копировал данную команду с заменой номеров столбцов, но ничего не получается(((
Извините но столкнулся ещё с одной проблемой(((((( с одной ячейкой всё получается, а как добавить, чтобы также было и со строчкой ниже.... копировал данную команду с заменой номеров столбцов, но ничего не получается(((NikolassMC
Ну так я писал пример выше, всё сделал как вы написали и у меня всё получилось.... а делал также с другой ячейкой и уже ничего не выходит.... 2 кода на одной странице не работают((((
Ну так я писал пример выше, всё сделал как вы написали и у меня всё получилось.... а делал также с другой ячейкой и уже ничего не выходит.... 2 кода на одной странице не работают((((NikolassMC
Public Sub WorkSheet_Change(ByVal Target As Range) If Target.Row < 3 Then Exit Sub If Cells(2, Target.Column).Value = "За день" Then Target.Offset(, 1) = Target.Offset(, 1) + Target End If End Sub
[/vba]
[vba]
Код
Public Sub WorkSheet_Change(ByVal Target As Range) If Target.Row < 3 Then Exit Sub If Cells(2, Target.Column).Value = "За день" Then Target.Offset(, 1) = Target.Offset(, 1) + Target End If End Sub
Public Sub WorkSheet_Change(ByVal Target As Range) If Target.Row < 3 Then Exit Sub If Cells(2, Target.Column).Value = "За день" Then Target.Offset(, 1) = Target.Offset(, 1) + Target End If End Sub
Хм... тот код был понятен по ячейкам.... а тут вообще ничего не меняет... или я быть может что-то делаю не так?
Public Sub WorkSheet_Change(ByVal Target As Range) If Target.Row < 3 Then Exit Sub If Cells(2, Target.Column).Value = "За день" Then Target.Offset(, 1) = Target.Offset(, 1) + Target End If End Sub
Хм... тот код был понятен по ячейкам.... а тут вообще ничего не меняет... или я быть может что-то делаю не так?NikolassMC
Ещё раз напишу, что мне надо чтобы в ячейках D4,D5 так же менялись значения при добавлении чисел в ячейки C4,C5 как и с ячейками C3,D3...
Public Sub WorkSheet_Change(ByVal Target As Range) If Application.Intersect(Target, Range("C3")) Is Nothing Then Exit Sub Range("D3").Value = Range("D3").Value + Range("C3").Value End Sub
Данный код меняет цифры так как надо, но только одной ячейки, при копировании данного кода ниже, но с другими ячейками вообще ничего не работает....
Ещё раз напишу, что мне надо чтобы в ячейках D4,D5 так же менялись значения при добавлении чисел в ячейки C4,C5 как и с ячейками C3,D3...
Public Sub WorkSheet_Change(ByVal Target As Range) If Application.Intersect(Target, Range("C3")) Is Nothing Then Exit Sub Range("D3").Value = Range("D3").Value + Range("C3").Value End Sub
Данный код меняет цифры так как надо, но только одной ячейки, при копировании данного кода ниже, но с другими ячейками вообще ничего не работает....NikolassMC
f Application.Intersect(Target, Range("C3")) Is Nothing Then Exit Sub Range("D3").Value = Range("D3").Value + Range("C3").Value
Ну так в Вашем коде и забито задание значения ТОЛЬКО для D3 как сумму D3 и C3. И проверяется на ввод только в ячейку C3. Полазьте по справке по методам в коде RAN и все станет ясно как что работает.
f Application.Intersect(Target, Range("C3")) Is Nothing Then Exit Sub Range("D3").Value = Range("D3").Value + Range("C3").Value
Ну так в Вашем коде и забито задание значения ТОЛЬКО для D3 как сумму D3 и C3. И проверяется на ввод только в ячейку C3. Полазьте по справке по методам в коде RAN и все станет ясно как что работает.paramedic
Я не ламер - я честный чайник
Сообщение отредактировал paramedic - Четверг, 07.08.2014, 12:33