Witam,
Musisz pamiętać o tym, że własciwości .End jak też .Offset zwracają komórkę (zmienną typu Range). To znaczy jeśli ją zwracają, to możemy się do nich dostać. Ponieważ jest to zmienna obiektowa to dostaniemy się do niej przy użyciu komendy Set.
Oto moja propozycja:
Sub Sumuj()
Dim oStart As Range, oStop As Range
'komórka startowa
Set oStart = Range("A1")
'komórka końcowa
Set oStop = oStart.End(xlDown)
'Wpisujemy
oStop.Offset(1, 0).Formula = "=SUM(" & oStart.Address & ":" & oStop.Address & ")"
'Zwalniamy pamięć
Set oStart = Nothing
Set oStop = Nothing
End Sub
:D |