返回列表 上一主題 發帖

[發問] 請問在vba中的陣列如何排序?

[發問] 請問在vba中的陣列如何排序?

如何在VBA中的陣列去作排序的動作,(非 range, worksheet) ? 號去找 SORT 找不到, 嘗試用 Swap 指令行不通, 難到要用這樣的東西嗎?

Dim rd(5) As String
Dim tmp As string
Dim i, j As long
For i = 1 to 4
     for j = i + 1 to 5
         If rd(i) > rd(j) Then
             tmp = rd(i)
             rd(i) = rd(j)
             rd(j) = tmp
        Endif
next
嗎?
V98

回復 2# Hsieh

如木工版主所言不是很懂,但是再用力去了解看看,如Hsieh所言看來VBA中没支援陣列排序,謝謝!!
V98

TOP

本帖最後由 linshin1999 於 2011-1-8 00:32 編輯

回復 4# Hsieh

  常常看到版主用到 Dictionary 的用法,要再用力去學, 那麼不同項目出現次數的加總,好像 Dictionary 就是為此設計的是嗎?我會去研究它.,謝謝!!
V98

TOP

有些資料是不適合到 工作表 去處理的,我的資料是要作設定用的,在工作表上的欄列很大,約有(2000~10000),如果有與資料檔上相同的資料要被作記號,比如字型被黑體字代替,因為資料檔有大小次序所以要排好次序以再去比對會比較快,它是背景作業不是前景作業,只能用陣列來寫不能用 Range 處理,我知道 Excell 上的 sort 功能,但是用不上. 所以看是不是有直接的方式去呼叫,没有就自己寫了,謝謝大家.
V98

TOP

回復 10# Hsieh

版主 好像没有問題可以難倒你的,我會實際去測一下 徫婕 版主所示範的 Sort 指令 謝謝 !! 人老了所以我喜歡將字放大一點
V98

TOP

回復 8# GBKEE


  版主你好,我想將你的程式存起來,你的程式方塊的下方有一個  複製代碼  點下去以後,會存到剪貼簿去.   請問剪貼簿是在那裡?
V98

TOP

回復 14# asus103


  可以了,我以為會跑到某個地方存起來,很多東西都還摸索所以連這種問題都要問,謝謝!!.
V98

TOP

        靜思自在 : 滴水成河。粒米成蘿,勿輕己靈,勿以善小而不為。
返回列表 上一主題