Всем доброго дня и удачной пятницы. Понимаю, что данная тема тут не однократно обсуждалась, однако решения на свой файл применить не могу. Есть таблица которая ежедневно заполняется, нужно, чтобы числа из столбца D суммировались накопительно в ячейку D1, из F в F1 и т.д. по столбцам где есть числа. Желательно, чтобы код был не в коде листа, а как отдельный модуль. Зараенее спасибо!
Всем доброго дня и удачной пятницы. Понимаю, что данная тема тут не однократно обсуждалась, однако решения на свой файл применить не могу. Есть таблица которая ежедневно заполняется, нужно, чтобы числа из столбца D суммировались накопительно в ячейку D1, из F в F1 и т.д. по столбцам где есть числа. Желательно, чтобы код был не в коде листа, а как отдельный модуль. Зараенее спасибо!VIDEO56
Sub tt() r1_ = Range("A" & Rows.Count).End(xlUp).Row - 2 For i = 4 To 21 If IsNumeric(Cells(3, i)) Then If Not IsDate(Cells(3, i)) Then Cells(1, i) = WorksheetFunction.Sum(Cells(3, i).Resize(r1_)) End If End If Next i End Sub
[/vba]
Так? [vba]
Код
Sub tt() r1_ = Range("A" & Rows.Count).End(xlUp).Row - 2 For i = 4 To 21 If IsNumeric(Cells(3, i)) Then If Not IsDate(Cells(3, i)) Then Cells(1, i) = WorksheetFunction.Sum(Cells(3, i).Resize(r1_)) End If End If Next i End Sub
devilkurs, дело в том, что на просторах форума нашел макрос, который из этих сумм вычетает расходы, соответственно формулы не але! Перевложил файл по своему подобию!
devilkurs, дело в том, что на просторах форума нашел макрос, который из этих сумм вычетает расходы, соответственно формулы не але! Перевложил файл по своему подобию!VIDEO56
Александр, перенес макрос в свой файл, изменил все как было рекомендовано, не работает. Выдает "Complite error: Viriable not defined". Вас из дас??? [moder]Не нужно уже ничего делать, я выложил новый файл. Поднимите взгляд на 10 сантиметров.
Александр, перенес макрос в свой файл, изменил все как было рекомендовано, не работает. Выдает "Complite error: Viriable not defined". Вас из дас??? [moder]Не нужно уже ничего делать, я выложил новый файл. Поднимите взгляд на 10 сантиметров.VIDEO56
Всем удачного дня!
Сообщение отредактировал _Boroda_ - Пятница, 08.04.2016, 09:55
Я видел файл. У меня файл уже существует, и почему-то макрос в нем не приживается! [moder]Поставьте себя на мое место - вот как я могу узнать, что Вы неверно делаете, если Вы подробно свои действия не описываете?
Я видел файл. У меня файл уже существует, и почему-то макрос в нем не приживается! [moder]Поставьте себя на мое место - вот как я могу узнать, что Вы неверно делаете, если Вы подробно свои действия не описываете?VIDEO56
Всем удачного дня!
Сообщение отредактировал _Boroda_ - Пятница, 08.04.2016, 10:03
А Вы перенесли именно так, как у меня или у Вас в модуле еще строчка в самом верху есть? Вот такая: "Option Explicit". Если есть, то либо удаляйте ее, либо после строки Sub объявляйте переменные [vba]
Код
dim r1_, i
[/vba]
Добавлено
И еще - в макросе лишнее условие [vba]
Код
If Not IsDate(Cells(4, i)) Then
[/vba]
А Вы перенесли именно так, как у меня или у Вас в модуле еще строчка в самом верху есть? Вот такая: "Option Explicit". Если есть, то либо удаляйте ее, либо после строки Sub объявляйте переменные [vba]
Dim rc As Range For Each rc In ActiveSheet.Range(ActiveSheet.Cells(trgfirst, trgColl), ActiveSheet.Cells(lLastRow, trgColl)) If IsNumeric(rc.Value) Then Sum_rng = Sum_rng + rc.Value
End If Next rc 'результат будет в первой ячейке суммируемого столбца Cells(1, trgColl).Value = Sum_rng
End Sub
[/vba]
Этот попробуй
[vba]
Код
Public Sub SmrCol() Dim trgColl As Long, trgfirst As Long, Sum_rng As Long, lLastRow As Long
Dim rc As Range For Each rc In ActiveSheet.Range(ActiveSheet.Cells(trgfirst, trgColl), ActiveSheet.Cells(lLastRow, trgColl)) If IsNumeric(rc.Value) Then Sum_rng = Sum_rng + rc.Value
End If Next rc 'результат будет в первой ячейке суммируемого столбца Cells(1, trgColl).Value = Sum_rng