Hi
If your data start at Cells(2,5) and consecutive(no empty cells between
data) in both column's and row's direction , Macro as below would work.
Sub sumtest0()
Dim rng As Range
On Error Resume Next
Set rng = Range(Cells(2, 5), Cells(Cells.Rows.Count, _
Cells.Columns.Count)).SpecialCells(xlCellTypeConstants, 1)
rng.Select '<--- just for checking the range of sum
If Not rng Is Nothing Then
MsgBox Application.Sum(rng)
Else
MsgBox "Nothing to sum"
End If
End Sub
If your data has empty cells between data, the Macro above would not work,
instead, try this one.
But i don't know this one is as efficient as your code.
Be sure that Sheets("Futures") is selected before running both macros
Sub sumtest1()
Dim clast As Range, rlast As Range, clrng As Range
Dim cell As Range, sumrng As Range
If Cells(2, 5) = "" Then
MsgBox "Nothing to sum"
Exit Sub
Else
If Cells(2, 5).Offset(0, 1) = "" Then
Set clast = Cells(2, 5)
Set clrng = clast
Else
Set clast = Cells(2, 5).End(xlToRight)
Set clrng = Range(Cells(2, 5), clast)
End If
End If
Set sumrng = Nothing
For Each cell In clrng
If cell.Offset(1, 0) = "" Then
If sumrng Is Nothing Then
Set sumrng = cell
Else
Set sumrng = Union(sumrng, cell)
End If
Else
Set rlast = cell.End(xlDown)
If sumrng Is Nothing Then
Set sumrng = Range(cell, rlast)
Else
Set sumrng = Union(sumrng, Range(cell, rlast))
End If
End If
Next
sumrng.Select '<--- just for checking the range of sum
MsgBox Application.Sum(sumrng)
End Sub
keiji
"MarkS" <(E-Mail Removed)> wrote in message
news

A85A7C2-A95E-4015-B9BE-(E-Mail Removed)...
> Hi,
> I need to know the sum of a group of cells I us this piece of code to do
> this job
>
> dTotal = 0
> iRowCounter1 = 2
> iColumnCounter1 = 5
> Do Until Sheets("Futures").Cells(iRowCounter1, iColumnCounter1).Value = ""
> Do Until Sheets("Futures").Cells(iRowCounter1, iColumnCounter1).Value =
> ""
> dTotal = dTotal + Sheets("Futures").Cells(iRowCounter1,
> iColumnCounter1).Value
> iRowCounter1 = iRowCounter1 + 1
> Loop
> iRowCounter1 = 2
> iColumnCounter1 = iColumnCounter1 + 1
> Loop
>
> Does any one know how to do this, without looping through all the cells,
> as
> it is always the same size
>
> Thanks MarkS
>