VBA 如何统计一列中每一个数据出现的次数,并在另外两列中分别显示数据名称和次数。 注:用VBA

VBA 如何统计一列中每一个数据出现的次数,并在另外两列中分别显示数据名称和次数。 注:用VBA,第1张

使用字典实现,例如统计A列数据显示在C、D列的代码如下:

set db=createobject("scripting.dictionary")

for i=1 to activesheet.usedrange.rows.count

    x=trim(cells(i,1))

    db(x)=db(x)+1

next i

i=1

for each x in db.keys

    cells(i,3)=x

    cells(i,4)=db(x)

    i=i+1

next k

用鼠标选择一个区域,比如 a2:d10,然后运行代码

Sub test2()

Dim Arr1, Arr2

Dim i, j, k As Integer

Arr1 = Application.Selection

If Arr1 = "" Then

MsgBox "Please select data"

Exit Sub

End If

k = UBound(Arr1)

ReDim Arr2(1 To k, 1 To 2)

For i = 1 To k

For j = 1 To 4

If Arr1(i, j) <6 Then

Arr2(i, 1) = Arr2(i, 1) + 1

Else

Arr2(i, 2) = Arr2(i, 2) + 1

End If

Next j

Next i

Columns("f:g").Clear

i = Application.Selection.Row

Range(Cells(i, 6), Cells(i + k - 1, 7)) = Arr2

End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9896866.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存