
在excel里 编一个vba自定义函数 经过很多次筛选后 以筛选不隐藏的结果为准,只要A7:A10
在excel里编一个vba自定义函数经过很多次筛选后以筛选不隐藏的结果为准,只要A7:A1002中含有大于等于A1009小于等于A1010之间的数函数返回1没有就返回0我...
在excel里 编一个vba自定义函数 经过很多次筛选后 以筛选不隐藏的结果为准,只要A7:A1002中含有 大于等于A1009小于等于A1010之间的数函数返回1 没有就返回0 我想象中的函数是A1013=fun( A7:A1002 ,A1009,A1010)
展开
展开全部
你问的关键点应该是如何不统计已经滤掉隐藏起来的数值吧。可用SpecialCells(xlCellTypeVisible)。代码如下供参考。
'本例中,统计的是第E列的数据,按需修改成你要的列号
'最大值 最小值类型是Double,可按需修改为你的类型
Private Sub CommandButton1_Click()
Dim iNum As Long, iMax As Double, iMin As Double
iMax = 100 '最大值 按需修改为你要的值
iMin = 95 '最小值 按需修改为你要的值
Dim Rng As Range, cel As Range
Set Rng = ActiveSheet.Range("E1:E" & ActiveSheet.UsedRange.Rows.Count).SpecialCells(xlCellTypeVisible)
For Each cel In Rng
If cel.Value <= iMax And cel.Value >= iMin Then iNum = iNum + 1
Next
MsgBox iNum
End Sub
'本例中,统计的是第E列的数据,按需修改成你要的列号
'最大值 最小值类型是Double,可按需修改为你的类型
Private Sub CommandButton1_Click()
Dim iNum As Long, iMax As Double, iMin As Double
iMax = 100 '最大值 按需修改为你要的值
iMin = 95 '最小值 按需修改为你要的值
Dim Rng As Range, cel As Range
Set Rng = ActiveSheet.Range("E1:E" & ActiveSheet.UsedRange.Rows.Count).SpecialCells(xlCellTypeVisible)
For Each cel In Rng
If cel.Value <= iMax And cel.Value >= iMin Then iNum = iNum + 1
Next
MsgBox iNum
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询