Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 计数到6后停止的功能_Vba_Function_Count_Median - Fatal编程技术网

Vba 计数到6后停止的功能

Vba 计数到6后停止的功能,vba,function,count,median,Vba,Function,Count,Median,我有一个函数,它计算中值以上的值,但它计算中值以上的所有值。到6点时我需要这个停止计数。任何帮助都会很好 Function CountAbove(RangeToCountAbove As Range, _ MedianOfLastGroup As Double) As Long Dim i As Double Dim rows As Double Dim cCell As Range CountAbove = 0 For Each cCell In Rang

我有一个函数,它计算中值以上的值,但它计算中值以上的所有值。到6点时我需要这个停止计数。任何帮助都会很好

Function CountAbove(RangeToCountAbove As Range, _
                MedianOfLastGroup As Double) As Long

Dim i As Double
Dim rows As Double
Dim cCell As Range

CountAbove = 0

For Each cCell In RangeToCountAbove
If (cCell.Value > MedianOfLastGroup) Then
    CountAbove = CountAbove + 1
Else
Exit Function
End If
Next cCell

End Function

正如@Comintern所写,将条件
If countover=6
放入您的
If
,如下面编辑的代码中所添加:

Function CountAbove(RangeToCountAbove As Range, _
                MedianOfLastGroup As Double) As Long

Dim i As Double
Dim rows As Double
Dim cCell As Range

CountAbove = 0

For Each cCell In RangeToCountAbove
    If (cCell.Value > MedianOfLastGroup) Then
        CountAbove = CountAbove + 1
        If CountAbove = 6 Then Exit Function
    Else
        Exit Function
    End If

Next cCell

End Function

如果countover=6,那么…
是否将其添加到else之前,因为它要求下一个。我不知道在哪里插入那句话谢谢,这很有道理。我遗漏了“退出函数部分”@user3018495不客气,请接受我的回答。我可以再问一个问题吗?如果我想让计数跳过If(cCell.Value=MedianOfLastGroup)并移到下一行,我可以将其添加到同一个函数中吗?不确定你的意思是什么?您希望函数做什么?如果值等于MedianOfLastGroup,我希望它跳过,但继续计数,因为此时is停止计数。