Добрый день всем. Очень редко нуждаюсь в какой-то автоматизации процессов в Excel, но тут припёрло уже... Прошерстил поиском по форуму и нашёл 11 тем с такими же названиями, но без " в счёте" в конце названия. Проблема такая: делаю счёт и нужно, чтобы автоматически добавлялась новая строка снизу, при нажатии Enter в любой из трёх последних ячеек заполняемой строки. Также, последняя ячейка заполненной строки должна автоматически учитываться в сумме ИТОГО. Ну и напоследок - сумма ИТОГО должна появиться в прописном виде в ячейке с серым фоном. Прилагаю файл, сделанный в Excel 2016 Спасибо всем, кто отзовётся.
Добрый день всем. Очень редко нуждаюсь в какой-то автоматизации процессов в Excel, но тут припёрло уже... Прошерстил поиском по форуму и нашёл 11 тем с такими же названиями, но без " в счёте" в конце названия. Проблема такая: делаю счёт и нужно, чтобы автоматически добавлялась новая строка снизу, при нажатии Enter в любой из трёх последних ячеек заполняемой строки. Также, последняя ячейка заполненной строки должна автоматически учитываться в сумме ИТОГО. Ну и напоследок - сумма ИТОГО должна появиться в прописном виде в ячейке с серым фоном. Прилагаю файл, сделанный в Excel 2016 Спасибо всем, кто отзовётся.lookerr
Private Sub Worksheet_Change(ByVal Target As Range) Dim S&, R& If Target.Count > 1 Then Exit Sub Application.EnableEvents = False S = Range("F" & Rows.Count).End(xlUp).Row + 1 R = Target.Row If Not Application.Intersect(Range("F3:G" & S), Target) Is Nothing Then If Cells(R, 6) > 0 And Cells(R, 7) > 0 Then Rows(R + 1).Insert Shift:=xlDown End If End If Application.EnableEvents = True End Sub
[/vba]В модуль листа. Только снимите объединение ячеек в строке прописью. Иначе работать не будет.
Так пойдет? [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim S&, R& If Target.Count > 1 Then Exit Sub Application.EnableEvents = False S = Range("F" & Rows.Count).End(xlUp).Row + 1 R = Target.Row If Not Application.Intersect(Range("F3:G" & S), Target) Is Nothing Then If Cells(R, 6) > 0 And Cells(R, 7) > 0 Then Rows(R + 1).Insert Shift:=xlDown End If End If Application.EnableEvents = True End Sub
[/vba]В модуль листа. Только снимите объединение ячеек в строке прописью. Иначе работать не будет.Wasilich