Board logo

標題: 快速比對矩陣內的資料大小!! [打印本頁]

作者: yenwang    時間: 2015-10-16 23:41     標題: 快速比對矩陣內的資料大小!!

想請問大家
假如有個動態矩陣,內部資料譬如
A, 1
B, 6
A, 100
C, 90
B, 99
D, 1
A, 50
......
不知道要做,才能讓VBA快速取得個別項目的最大值對應!
(100是A的最大值, 99是B的最大值)
想請問大家有沒有什麼絕招
thank you!
作者: no3-taco    時間: 2015-10-17 06:58

回復 1# yenwang
如果只要找其中一個最大值,一個迴圈加比大小就可以了
參考看看!
  1. Sub 陣列抓最大值()
  2. Dim Arr, ViewMax
  3. Arr = Range("a1:b7")  '引入你的陣列
  4. With CreateObject("Scripting.Dictionary")
  5.     For i = 1 To UBound(Arr)
  6.         If .Exists(Arr(i, 1)) Then
  7.             If .Item(Arr(i, 1)) < Arr(i, 2) Then .Item(Arr(i, 1)) = Arr(i, 2)
  8.         Else
  9.            .Add Arr(i, 1), Arr(i, 2)
  10.         End If
  11.     Next i
  12.     For Each ViewMax In .Keys
  13.         Debug.Print ViewMax, .Item(ViewMax)
  14.     Next
  15. End With
  16. End Sub
複製代碼

作者: 准提部林    時間: 2015-10-17 10:57

Sub AR1017()
Dim Arr, xD, j&, T, V
Set xD = CreateObject("Scripting.Dictionary")
Arr = Range([A1], [B65536].End(xlUp))
For j = 1 To UBound(Arr)
  T = Arr(j, 1): V = Arr(j, 2)
  If xD(T) = "" Then xD(T) = V
  If V > xD(T) Then xD(T) = V
Next j
[E1:F1].Resize(xD.Count) = Application.Transpose(Array(xD.keys, xD.items))
End Sub
作者: hcm19522    時間: 2015-10-17 11:54

http://blog.xuite.net/hcm19522/twblog/350193923




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)