Добрый день! Подскажите пожалуйста, в прикрепленном файле аккумулирующий ввод в ячейку А1. То есть, если в ячейке значение 5, в ту же ячейку если ввести 10, появляется 15.
Никак не могу сделать так, чтобы при вводе значения выводился диалог да/нет, при нажатии да - значения суммировались, при нажатии нет значение осталось тем же, что и было до этого спасибо.
[vba]
Код
Dim iValue Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("C2")) Is Nothing Then Application.EnableEvents = False Target = Target + iValue End If Application.EnableEvents = True End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("C2")) Is Nothing Then iValue = Target End If End Sub
[/vba]
[moder]Код нужно в специальные теги класть. В Правилах форума подробнее об этом. Поправил Вам.
Добрый день! Подскажите пожалуйста, в прикрепленном файле аккумулирующий ввод в ячейку А1. То есть, если в ячейке значение 5, в ту же ячейку если ввести 10, появляется 15.
Никак не могу сделать так, чтобы при вводе значения выводился диалог да/нет, при нажатии да - значения суммировались, при нажатии нет значение осталось тем же, что и было до этого спасибо.
[vba]
Код
Dim iValue Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("C2")) Is Nothing Then Application.EnableEvents = False Target = Target + iValue End If Application.EnableEvents = True End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("C2")) Is Nothing Then iValue = Target End If End Sub
[/vba]
[moder]Код нужно в специальные теги класть. В Правилах форума подробнее об этом. Поправил Вам.Zavik21
Dim iValue Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A1")) Is Nothing Then Application.EnableEvents = False n_ = MsgBox("Добавить " & Target & " к " & iValue & "?", vbYesNo) = 6 Target = iValue - Target * n_ Target.Select iValue = Target End If Application.EnableEvents = True End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("A1")) Is Nothing Then iValue = Target End If End Sub
[/vba]
Я бы еще добавил мелочей всяких [vba]
Код
Dim iValue Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A1")) Is Nothing Then Application.EnableEvents = False n_ = MsgBox("Добавить " & Target & " к " & iValue & "?", vbYesNo) = 6 Target = iValue - Target * n_ Target.Select iValue = Target End If Application.EnableEvents = True End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("A1")) Is Nothing Then iValue = Target End If End Sub
Спасибо! Но только одна проблема - при сохранении и закрытии документа, если после этого открыть книгу еще раз, то почему-то не определяется значение которое было в ячейке, как будто она пустая
Спасибо! Но только одна проблема - при сохранении и закрытии документа, если после этого открыть книгу еще раз, то почему-то не определяется значение которое было в ячейке, как будто она пустаяZavik21
Ну да, не учел. Посмотрите так. Текст становится нулем, дробные округляются
Спасибо.
В примере была одна ячейка, а мне нужно на диапазон, соответственно часть текста "Target, Range("A1")" меняю на "Target, [J1:J5000]"
И перестает определяться число в ячейке, пишет "прибавить 100500 к __"
Я что-то не так делаю?
[moder]Да. 1. Тратите наше время, постоянно изменяя условия задачи. Я переделывать больше не буду, мне надоело. 2. Не читаете Правила форума. Исправляйте нарушение Правил в этом посте.[/moder]
Прошу прощения! В след. раз буду сразу конкретно писать. Файл прикрепил.
Нужно, чтобы данное правило суммирования в ячейке действовало на столбец "А", начиная с 4 ячейки до конца столбца. Пробую прописать диапазон еще так: "Target, Range("A4:A5000")", но не всегда правило суммирования срабатывает корректно, бывает очень часто что не отлавливается предыдущее число в ячейке.
Ну да, не учел. Посмотрите так. Текст становится нулем, дробные округляются
Спасибо.
В примере была одна ячейка, а мне нужно на диапазон, соответственно часть текста "Target, Range("A1")" меняю на "Target, [J1:J5000]"
И перестает определяться число в ячейке, пишет "прибавить 100500 к __"
Я что-то не так делаю?
[moder]Да. 1. Тратите наше время, постоянно изменяя условия задачи. Я переделывать больше не буду, мне надоело. 2. Не читаете Правила форума. Исправляйте нарушение Правил в этом посте.[/moder]
Прошу прощения! В след. раз буду сразу конкретно писать. Файл прикрепил.
Нужно, чтобы данное правило суммирования в ячейке действовало на столбец "А", начиная с 4 ячейки до конца столбца. Пробую прописать диапазон еще так: "Target, Range("A4:A5000")", но не всегда правило суммирования срабатывает корректно, бывает очень часто что не отлавливается предыдущее число в ячейке.