Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi,
How can I write a function (such as sum) which could be called on the result of range operation such as A1:A10/A1:A10. In other words, I want to call function in the following way: mysum(A1:A10/A1:A10) Ctrl-Shift-Enter The following does not work: Function mysum(r As Range) As Double Dim i As Integer pgSum = 0 For i = 1 To r.Rows.Count pgSum = pgSum + r(i) Next i End Function Many thanks in advance! Aaron Fude |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Aaron,
Try: '============= Public Function mySum(r As Range) As Double Dim i As Integer For i = 1 To r.Rows.Count If IsNumeric(r(i)) Then mySum = mySum + r(i) End If Next i End Function '<<============= --- Regards, Norman wrote in message ups.com... Hi, How can I write a function (such as sum) which could be called on the result of range operation such as A1:A10/A1:A10. In other words, I want to call function in the following way: mysum(A1:A10/A1:A10) Ctrl-Shift-Enter The following does not work: Function mysum(r As Range) As Double Dim i As Integer pgSum = 0 For i = 1 To r.Rows.Count pgSum = pgSum + r(i) Next i End Function Many thanks in advance! Aaron Fude |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Aaron,
I would additionally suggest that you change: Dim i As Integer to Dim i As Long --- Regards, Norman |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Try:
Function mysum(ByVal r As Variant) As Variant Dim tmp As Variant Dim i As Long, j As Long Dim pgsum As Variant tmp = r For i = LBound(tmp, 1) To UBound(tmp, 1) For j = LBound(tmp, 2) To UBound(tmp, 2) pgsum = pgsum + tmp(i, j) Next Next mysum = pgsum End Function keizi wrote in message ups.com... Hi, How can I write a function (such as sum) which could be called on the result of range operation such as A1:A10/A1:A10. In other words, I want to call function in the following way: mysum(A1:A10/A1:A10) Ctrl-Shift-Enter The following does not work: Function mysum(r As Range) As Double Dim i As Integer pgSum = 0 For i = 1 To r.Rows.Count pgSum = pgSum + r(i) Next i End Function Many thanks in advance! Aaron Fude |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
How to write (Selected range - 1) | Excel Discussion (Misc queries) | |||
how do you write format results of a function within a function? | Excel Worksheet Functions | |||
write a formula to a range | Excel Programming | |||
how do I write a vlookup function within an iserror function so t. | Excel Worksheet Functions | |||
Show one range in a combobox and write the 2nd range! | Excel Programming |