gpt4 book ai didi

algorithm - 计算 VBA 中所选(大)范围内不同值的数量?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:44:38 26 4
gpt4 key购买 nike

如何计算 VBA 中选定(大)范围内不同值(数字和字符串的混合)的数量?

我是这样想的:
1. 将数据读入一维数组。
2. 数组排序(快速或归并排序)需要测试哪些
3.如果排序数组,只需计算不同值的数量:if(a[i]<>a[i+1]) then counter=counter+1 .

这是解决这个问题最有效的方法吗?

编辑:我想在 Excel 中完成。

最佳答案

这是一个VBA解决方案

您不需要数组即可完成此操作。您也可以使用集合。示例

Sub Samples()
Dim scol As New Collection

With Sheets("Sheet1")
For i = 1 To 100 '<~~ Assuming the range is from A1 to A100
On Error Resume Next
scol.Add .Range("A" & i).Value, Chr(34) & _
.Range("A" & i).Value & Chr(34)
On Error GoTo 0
Next i
End With

Debug.Print scol.Count

'For Each itm In scol
' Debug.Print itm
'Next
End Sub

跟进

Sub Samples()
Dim scol As New Collection
Dim MyAr As Variant

With Sheets("Sheet1")
'~~> Select your range in a column here
MyAr = .Range("A1:A10").Value

For i = 1 To UBound(MyAr)
On Error Resume Next
scol.Add MyAr(i, 1), Chr(34) & _
MyAr(i, 1) & Chr(34)
On Error GoTo 0
Next i
End With

Debug.Print scol.Count

'For Each itm In scol
' Debug.Print itm
'Next
End Sub

关于algorithm - 计算 VBA 中所选(大)范围内不同值的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11761723/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com