Excel VBA,countif函数
在解释我目前的问题之前,我想说我对excel和vba的经验很少;因此,我在这里的斗争可能看起来很愚蠢,但它是天才的 我有一列,其中的值范围从0到6500。我想计算超过100、200、300的值的数量。。。6500并绘制给定数字与100的对比图。200300等 在excel上,我可以简单地使用函数countif函数,但我想根据该函数调用大部分值,而且,这将非常费劲 我正在考虑一个简单的循环,它将计算每个数据的值,然后将结果写在特定的列上,但我不知道如何做到这一点Excel VBA,countif函数,excel,vba,Excel,Vba,在解释我目前的问题之前,我想说我对excel和vba的经验很少;因此,我在这里的斗争可能看起来很愚蠢,但它是天才的 我有一列,其中的值范围从0到6500。我想计算超过100、200、300的值的数量。。。6500并绘制给定数字与100的对比图。200300等 在excel上,我可以简单地使用函数countif函数,但我想根据该函数调用大部分值,而且,这将非常费劲 我正在考虑一个简单的循环,它将计算每个数据的值,然后将结果写在特定的列上,但我不知道如何做到这一点 非常欢迎提供任何帮助或提示。您可以
非常欢迎提供任何帮助或提示。您可以通过将值按100分组来解决数据透视表的问题。Inoiae对此有一个很好的解决方案-按100分组的数据透视表可能是最好的方法,但由于您询问的是VBA,您可以这样做:
Sub CreateNumbers()
'this will populate the worksheet with column 1 being numbers 1 - 65535
Dim topNum&
topNum = 65535
Dim rA(topNum, 0)
For i = LBound(rA) To UBound(rA)
rA(i, 0) = i
Next i
ActiveSheet.Range(Cells(1, 1), Cells(topNum + 1, 1)) = rA
End Sub
Sub countifIteration()
'this will output the number based on criteria
Dim rA
rA = ActiveSheet.UsedRange
'& dim as long
Dim Cols&, maxNum&, i&
'defines maximum number of columns for plotting counts
maxNum = Application.WorksheetFunction.Max([a:a])
Cols = maxNum / 100
ReDim rA2(1, Cols)
For i = LBound(rA2, 2) To UBound(rA2, 2)
rA2(0, i) = CLng(i & "00")
For j = LBound(rA) To UBound(rA)
If rA(j, 1) > rA2(0, i) Then rA2(1, i) = rA2(1, i) + 1
Next j
Next i
Range(Cells(1, 3), Cells(2, Cols + 3)) = rA2
End Sub
你能提供一个数据样本和你期望得到的结果吗?据我所知,excel中的CountIf()或其vba对应工作表函数。CountIf()似乎是合适的工具。由于它是一个可写入的CountIf,所以我希望它是一个累积分布函数(对数)。我从未在excel中见过此选项,它实际上可以工作。谢谢你的提示!杰出的这正是我所需要的,一个注释良好的代码,在这里我可以掌握VBA语言。