Добрый день! 1. В ячейке I325 записано число 200 и нажимаю Enter. Я в эту же ячейку вписываю число 100 и нажимаю Enter, и в этой же ячейке уже не 200, а 300, т.е числа суммируются в этой же ячейк , а не заменяются. Нужна формула в ячейку I325. 2. В ячейке K325 записано 50+10. Нужна формула, которая бы подсчитывала сумму этих чисел в ячейке K330 таким образом, чтобы в ячейке K325 оставалось число 50, знак "+" и число 10, а в К330 было число 60.
Добрый день! 1. В ячейке I325 записано число 200 и нажимаю Enter. Я в эту же ячейку вписываю число 100 и нажимаю Enter, и в этой же ячейке уже не 200, а 300, т.е числа суммируются в этой же ячейк , а не заменяются. Нужна формула в ячейку I325. 2. В ячейке K325 записано 50+10. Нужна формула, которая бы подсчитывала сумму этих чисел в ячейке K330 таким образом, чтобы в ячейке K325 оставалось число 50, знак "+" и число 10, а в К330 было число 60.GSV_GRASEV
GSV_GRASEV, для пункта 2 можно использовать макрофункцию ВЫЧИСЛИТЬ (ctrl+f3 см имя eval) - пример в зеленых ячейках. А для пункта 1 без кода не обойтись, можете использовать событие Worksheet_Change.
GSV_GRASEV, для пункта 2 можно использовать макрофункцию ВЫЧИСЛИТЬ (ctrl+f3 см имя eval) - пример в зеленых ячейках. А для пункта 1 без кода не обойтись, можете использовать событие Worksheet_Change.Manyasha
AlexM, А если вот такой нижеприведённый код, но, если цыфра уже поставлена в ячейку, то уже обратно сделать её пустой нельзя. Можно ли решить это как-то? :[vba]
Код
Private vData
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) If Target.Count > 1 Then Exit Sub If Not Intersect(Target, [I2:I328]) Is Nothing Then If IsNumeric(Target) Then vData = Target End If End Sub
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Not Intersect(Target, [I2:I328]) Is Nothing Then Application.EnableEvents = False If Target.Count = 1 And IsNumeric(Target(1)) Then Target = Target + vData Else Application.Undo End If Application.EnableEvents = True End If End Sub
[/vba]
AlexM, А если вот такой нижеприведённый код, но, если цыфра уже поставлена в ячейку, то уже обратно сделать её пустой нельзя. Можно ли решить это как-то? :[vba]
Код
Private vData
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) If Target.Count > 1 Then Exit Sub If Not Intersect(Target, [I2:I328]) Is Nothing Then If IsNumeric(Target) Then vData = Target End If End Sub
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Not Intersect(Target, [I2:I328]) Is Nothing Then Application.EnableEvents = False If Target.Count = 1 And IsNumeric(Target(1)) Then Target = Target + vData Else Application.Undo End If Application.EnableEvents = True End If End Sub
Очень странно, код в первом файле практически такой же. В коде, который вы нашли дополнительно делается проверка на ввод чисел, в моем коде этого нет. От этого код не может быть неработоспособным. Свои файлы я проверяю перед выкладыванием.. Почему у вас не работает я не пойму.
Очень странно, код в первом файле практически такой же. В коде, который вы нашли дополнительно делается проверка на ввод чисел, в моем коде этого нет. От этого код не может быть неработоспособным. Свои файлы я проверяю перед выкладыванием.. Почему у вас не работает я не пойму.AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.