Сумма

Программирование на Visual Basic for Applications
ruvster
Новичок
Новичок
 
Сообщения: 39
Зарегистрирован: 18.08.2005 (Чт) 19:32

Сумма

Сообщение ruvster » 19.10.2005 (Ср) 12:39

1. В столбце “b” начиная с третьей строки неизвестное кол-во строк с числами.
Как высчитать сумму этих чисел и записать ее в ячейке под числами?
Спасибо.

K.Sergey
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 11.10.2004 (Пн) 0:42
Откуда: Санкт-Петербург

Сообщение K.Sergey » 19.10.2005 (Ср) 12:56

Вот так, например:
Код: Выделить всё
Sub MySum()
    Dim LastRow As Long
    LastRow = ActiveSheet.Cells(3, 2).End(xlDown).Row
    If LastRow > 65000 Then LastRow = 3
    ActiveSheet.Cells(LastRow + 1, 2).FormulaR1C1 = "=SUM(R[-" & LastRow - 2 & "]C:R[-1]C)"
End Sub
Life is what happens to us when we are planning to do something else...

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 19.10.2005 (Ср) 13:26

LastRow > 65000


Приближенные вычисления? :lol: :lol: :lol:
Быть... или не быть. Вот. В чём вопрос?

K.Sergey
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 11.10.2004 (Пн) 0:42
Откуда: Санкт-Петербург

Сообщение K.Sergey » 19.10.2005 (Ср) 14:22

uhm писал(а):
LastRow > 65000


Приближенные вычисления? :lol: :lol: :lol:

Ага. :D
Хотя, это даже предпочтительней чем = 65536, т.к. фиг его знает - может до этого сбой был и в последней строке уже записано какое-то значение (нашей же процедурой).
Life is what happens to us when we are planning to do something else...

ruvster
Новичок
Новичок
 
Сообщения: 39
Зарегистрирован: 18.08.2005 (Чт) 19:32

Сообщение ruvster » 19.10.2005 (Ср) 16:52

Да. Это хорошо, но между числами может быть свободная ячейка. Как с этим справиться?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 19.10.2005 (Ср) 17:08

with worksheets(1).usedrange
worksheets(1).cells(.rows(.rows.count).row+1,2).formula="=sum(b3:b" & .rows(.rows.count).row & ")"
end with
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 38

    TopList