標題:
[發問]
資料重複但只顯示出一次
[打印本頁]
作者:
g93353
時間:
2012-6-15 15:00
標題:
資料重複但只顯示出一次
如標題
小弟想請問一下
若儲存格人名有重複 如何只顯示一次而不會重複加總呢
請教各位大大了>”<
A
1 Gary
2 Gary
3 LILY
4 JOHN
5 MOLLY
6 MOLLY
7 JAM
8 共5人(不是7人)
作者:
register313
時間:
2012-6-15 15:20
回復
1#
g93353
Sub XX()
Set d = CreateObject("scripting.dictionary")
For Each A In Range([A1], [A1].End(xlDown))
d(A.Value) = ""
Next
Cells(1, "B").Resize(d.Count, 1) = Application.Transpose(d.keys)
Cells(1 + d.Count, "B") = "共" & d.Count & "人"
End Sub
複製代碼
作者:
g93353
時間:
2012-6-15 15:50
謝謝 register313 大大的回答
想請問一下(SORRY剛剛沒提到)
若Range的範圍不是到.End(xlDown) (到總數的前一格)
EX:
A
1 Gary
2 Gary
3 LILY
4 JOHN
5 MOLLY
6 MOLLY
7 JAM
8 共5人(不是7人)
9 總數
若用您的方法 如果都沒有人的話 好像也會顯示1人
不知道RANGE的設定要怎麼更改 或是有別得方法呢>”<
作者:
register313
時間:
2012-6-15 16:19
回復
3#
g93353
Sub YY()
Set d = CreateObject("scripting.dictionary")
n = Application.Match("總數", Columns("A"), 0)
For Each A In Range("A1:A" & n - 2)
If A.Value <> "" Then d(A.Value) = ""
Next
If d.Count <> 0 Then Cells(1, "B").Resize(d.Count, 1) = Application.Transpose(d.keys)
Cells(n - 1, "A") = "共" & d.Count & "人"
Cells(1 + d.Count, "B") = "共" & d.Count & "人"
End Sub
複製代碼
作者:
g93353
時間:
2012-6-15 16:48
感謝 register313 大大
可以請問一下
Cells(1, "B").Resize(d.Count, 1) = Application.Transpose(d.keys)
這行所表示的意思嗎??
作者:
register313
時間:
2012-6-15 16:58
回復
5#
g93353
Cells(1, "B").Resize(d.Count, 1) = Application.Transpose(d.keys)
d.Count 字典內關鍵字的數目(數字)
d.keys 字典內的關鍵字(橫向陣列)
Cells(1, "B")=Range("A1")=[A1] 儲存格A1
Cells(1, "B").Resize(d.Count, 1) 將儲存格A1之範圍擴大為d.Count列1欄
Application.Transpose(d.keys) 將字典內的關鍵字(橫向陣列)轉置為直向陣列
作者:
GBKEE
時間:
2012-6-17 21:04
回復
1#
g93353
參考這裡
4# '使用 AdvancedFilter 進階篩選 篩選不重復的資料
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)