Board logo

標題: 請問版上大大這個要怎麼寫?? [打印本頁]

作者: 藍天麗池    時間: 2014-2-28 20:49     標題: 請問版上大大這個要怎麼寫??

A              B               C
100                          100
99                              99
98                              98
97                              97
98                              96
96                              95
95                              94
94
94
95
96

如上所示:A欄會隨機出現數字,我想要讓A欄的值從大到小,且不重複,要如何用VBA寫,請版上大大伺教,感謝
作者: 藍天麗池    時間: 2014-2-28 20:54

A              B               C
100                          100
99                               ...
藍天麗池 發表於 2014-2-28 20:49



    PS:A欄數字會增加,每天數量不一定
作者: seer_et    時間: 2014-3-1 11:25

回復 2# 藍天麗池

不知行不行,你試一下 :

Private Sub Worksheet_Change(ByVal Target As Range)

rs = Range("A1").End(xlDown).Row
Set Rng = Range("A1:C" & rs)
Rng.Sort Key1:=Range("A1"), Order1:=xlDescending, Header:=xlYes, Orientation:=xlTopToBottom

End Sub
作者: yen956    時間: 2014-3-1 12:41

回復 2# 藍天麗池
可用進階篩選, 勾選 不選重覆的記錄
如不想每次操作 進階篩選, 可錄下再修改,
VBA code 如下:
  1. Option Explicit
  2. Private Sub CommandButton1_Click()
  3.     Dim cnt As Integer, rng As Range
  4.     cnt = Range("A1").End(xlDown).Row
  5.     [C2].Resize(cnt, 1) = ""
  6.     Set rng = [A2].Resize(cnt, 1)
  7.     rng.AdvancedFilter Action:=xlFilterCopy, _
  8.            CriteriaRange:=rng, _
  9.            CopyToRange:=Range("C2"), Unique:=True
  10. End Sub
複製代碼

作者: yen956    時間: 2014-3-1 13:20

回復 1# 藍天麗池
抱歉, 忘了 C欄有排序,
修正如下:
  1. Option Explicit
  2. Private Sub CommandButton1_Click()
  3.     Dim cnt As Integer, rng As Range
  4.     cnt = Range("A1").End(xlDown).Row
  5.     [C2].Resize(cnt, 1) = ""
  6.     Set rng = [A2].Resize(cnt, 1)
  7.    
  8.     '先排序 (也可以先篩選, 再排序)
  9.     rng.Sort Key1:=Range("A2"), _
  10.           Order1:=xlDescending, _
  11.           Header:=xlYes
  12.     '再篩選, 勾選 [不重覆] 及 [篩將選結果複製到別的地方]
  13.     rng.AdvancedFilter Action:=xlFilterCopy, _
  14.            CriteriaRange:=rng, _
  15.            CopyToRange:=Range("C2"), Unique:=True
  16. End Sub
複製代碼

作者: 藍天麗池    時間: 2014-3-1 15:20

回復 3# seer_et


    大大不行ㄟ,程式會跑,但會出現重複,且不是出現在C欄
作者: yen956    時間: 2014-3-1 19:32

回復 6# 藍天麗池
大大你好, 沒有重覆啊!!
如下圖:

作者: yen956    時間: 2014-3-2 09:02

但會出現重複,且不是出現在C欄
回復 6# 藍天麗池
想到了, 你是用手動 篩選 的吧,
記得用 進階篩選, 勾選 不選重覆的記錄,
及 勾選 複製到別處→ 複製到 C2
如下圖:

作者: 藍天麗池    時間: 2014-3-2 09:49

回復 8# yen956


    Y大感謝你的回答,但因為資料是動態接收的,所以用錄製巨集的方式可能不太行ㄟ
作者: yen956    時間: 2014-3-2 11:28

回復 9# 藍天麗池
那就用5F的vba吧!!
作者: sunnyso    時間: 2014-3-10 12:23

回復 1# 藍天麗池

提示 字典+排序




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