|
代码:
Public Function netpay(t As Integer) As Integer
Application.Volatile
Dim r As Integer
Dim a As Integer
For t = 1 To 111
For r = 3 To 113
netpay = Val(Cells(r, 22)) - Val(Cells(r, 24)) _
- Val(Cells(r, 25)) - Val(Cells(r, 26)) _
- Val(Cells(r, 27)) - Val(Cells(r, 28)) _
- Val(Cells(r, 29))
End If
Next
Next
End Function
是这样子的,我想当单元格的序号从1到111的时候,函数netpay(单元格)的值就是Val(Cells(r, 22)) - Val(Cells(r, 24)) _
- Val(Cells(r, 25)) - Val(Cells(r, 26)) _
- Val(Cells(r, 27)) - Val(Cells(r, 28)) _
- Val(Cells(r, 29))
而且r从3到113递增
我设计的这个自定义函数试了下,运行不了,请大侠帮忙看看问题所在,谢谢了
回复 jiangslly 的帖子
如是我上面说的那样的话,可用这个来试试
- Public Function netpay(T As Range)
- If T.Value > 0 And T.Value < 112 Then
- netpay = Cells(T.Row, "V") - Application.Sum(Range(Cells(T.Row, "W"), Cells(T.Row, "AC")))
- Else
- netpay = ""
- End If
- End Function
复制代码
其实这样不如直接用函数来做,还简单些
if(and(a3>0,a3<112),v3-sum(W3:AC3),"")
|
|