答:Sum函数可以在工作表中求,同样也可以对VBA数组求和,如:Sub
t2()arr
=
Array(1,
35,
4,
13)
MsgBox
ApplicationSum(arr)
'对数组进行求和
End
Sub
2、Count和Counta
Count和Counta可以统计数组中数字的个数和数字+文本的个数。
MsgBox
ApplicationCount(arr)
'返回数字的个数4
MsgBox
ApplicationCountA(arr)
‘返回数组文本和数字的总个数
End
Sub
public sub 统计()
dim i as integer,n as integer
n=0
for i=1 to 12 step 1
if len(cells(i,1))>0 then
n=n+1
end if
next i
cells(1,2)=n
end
'则运行后B1单元格显示的数据即A1:A12区域数据的个数!
Sub 计数()
Dim Arr, i&, j&, Drr(1 To 1440, 1 To 1)
Arr = Range(Cells(1, 1), Cells(RowsCount, 1)End(xlUp))
j = 1
For i = 1 To UBound(Arr)
If Arr(i, 1) > j Then
Do
Drr(j, 1) = i - 1
j = j + 1
Loop Until Arr(i, 1) <= j
If j > 1440 Then j = 1440: Exit For
End If
Next i
If Arr(UBound(Arr), 1) <= j Then Drr(j, 1) = i - 1
[D1]Resize(UBound(Drr), 1) = Drr
End Sub
窗体不全,假设我现在要查找 符合任一机器或程序或时间的 数目,结果应该在哪里得到输出?窗体上表现不出来,现有的三个框我觉得应该都是条件输入框。
第二,机器编号、程序、时间这么长,输入想要完全匹配估计很难,要模糊匹配的话,得到结果又不准确
综上所述,我觉得应该在窗体上增加两个控件,一个用于输出统计结果,可用TEXTBOX
第二个,可以用LISTBOX 或LISTVIEW,
具体逻辑是这样
现在己有的三个TEXTBOX作为输入条件的写入框,分别在每个TEXTBOX 的KEYUP 或KEYDOWN事件内增加代码,代码的作用是查找模糊匹配的结果,并将结果添加到LISTBOX内。比如我在机器文本框内输入,V,则LISTBOX内列出所有符合条件的机器代码,以供选择;根据你的要求,可能在添加LISTBOX列表项之前加上一段判断,以提供更精确的匹配结果
然后在LISTBOX双击事件或KEYPRESS事情内写段代码,将选中的条目赋值给相应的文本框(可用LISTBOX的TAG属性来确定文本框)
最后点击统计项,根据几个条件文本框内的内容在工作表里进行查找,统计条件数量,在TEXTBOX里显示,
以上就是关于VBA数组如何求和与计数全部的内容,包括:VBA数组如何求和与计数、Excel VBA 循环统计个数、如何用VBA实现条件计数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)