Доброго времени суток! Каждый рабочий день в одни и теже ячейки вводятся значения нарастающим итогом, т.е. к значению предыдущего дня прибавляются значение текущего. В итоге, в конце месяца в ячейке получается целая формула. Каждый день, для ввода нового значения в ячейку, приходиться входить в её редактирование, писать знак + и вводить значение. Может есть какой то вариант как ускорить этот процесс просто встав на нужную ячейку и набрать значение, и это значение автоматом добавилось бы к ранее введенным? Всем спасибо за отклик!
Доброго времени суток! Каждый рабочий день в одни и теже ячейки вводятся значения нарастающим итогом, т.е. к значению предыдущего дня прибавляются значение текущего. В итоге, в конце месяца в ячейке получается целая формула. Каждый день, для ввода нового значения в ячейку, приходиться входить в её редактирование, писать знак + и вводить значение. Может есть какой то вариант как ускорить этот процесс просто встав на нужную ячейку и набрать значение, и это значение автоматом добавилось бы к ранее введенным? Всем спасибо за отклик!Chicony
Dim vVal Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A2")) Is Nothing Then Application.EnableEvents = 0 Target.Value = vVal + Target.Value Application.EnableEvents = 1 End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("A2")) Is Nothing Then vVal = Target.Value End Sub
[/vba] меняется ячейка А2. точнее при наличии файла примера
в модуль листа [vba]
Код
Dim vVal Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A2")) Is Nothing Then Application.EnableEvents = 0 Target.Value = vVal + Target.Value Application.EnableEvents = 1 End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("A2")) Is Nothing Then vVal = Target.Value End Sub
[/vba] меняется ячейка А2. точнее при наличии файла примеракитин
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A2")) Is Nothing Then If Target <> "" Then Application.EnableEvents = 0 vVal = Target Application.Undo Target.Formula = IIf(Target.HasFormula, "", "=") & _ Target.Formula & "+" & vVal Application.EnableEvents = 1 End If End If End Sub
[/vba] Для диапазона нужно доработать, но это с примером
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A2")) Is Nothing Then If Target <> "" Then Application.EnableEvents = 0 vVal = Target Application.Undo Target.Formula = IIf(Target.HasFormula, "", "=") & _ Target.Formula & "+" & vVal Application.EnableEvents = 1 End If End If End Sub
[/vba] Для диапазона нужно доработать, но это с примеромbmv98rus
Замечательный Временно просто медведь , процентов на 20.
Сообщение отредактировал bmv98rus - Среда, 15.12.2021, 07:51