返回列表 上一主題 發帖

[分享] 陣列排序方式

[分享] 陣列排序方式

Sub TOP_Value()
    '排序
    Dim TT As Variant
   
    TT = Array(5, 4, 2, 1, 2)

    '由大到小排序
    MsgBox Application.WorksheetFunction.Large(TT, 1)
    MsgBox Application.WorksheetFunction.Large(TT, 2)
    MsgBox Application.WorksheetFunction.Large(TT, 3)
    MsgBox Application.WorksheetFunction.Large(TT, 4)
    MsgBox Application.WorksheetFunction.Large(TT, 5)
   
    '由小到大排序
    MsgBox Application.WorksheetFunction.Small(TT, 1)
    MsgBox Application.WorksheetFunction.Small(TT, 2)
    MsgBox Application.WorksheetFunction.Small(TT, 3)
    MsgBox Application.WorksheetFunction.Small(TT, 4)
    MsgBox Application.WorksheetFunction.Small(TT, 5)
End Sub

不好意思,我才剛學VBA,對Array的用法不是太過有概念,可以教我一下嗎?
如果可以有簡易明的例子說明一下就好 ...
am0251 發表於 2010/5/4 11:25 PM


其實Array觀念不難!
就重一維陣列的型態開始說起...
以excel cells來說 一維陣列就像是只有一欄的資料型態 ex.只有A1~A65536
那cells只能用cells(1,1) cells(2,1) cells(3,1)....cells(65536,1) 所以就只有row可以用!
dim arr()
arr(0) arr(1) arr(2)....arr(65536)
但須注意的是array預設是由0開始!

二維陣列更是簡單 excel的cells本身就是二維
cells(1,1) 就如同arr(0,0)
cells(123,321) 就如同arr(123,321)

那三圍... 錯是三維啦! >"<
三維陣列就要想像是立體空間了!

會不會還有人問四維陣列阿~
四維.... 四維可以稱四度空間>"< 算了!我不知道怎麼解釋...

TOP

呵呵呵~ 真的要像Hsieh兄所說 要去修語文課程了~
GBKEE兄 有提到! 陣列的範圍是可以指定的!
就由簡單的一維陣列來舉例
一般而言 dim arr() 這樣的寫法 是指沒有範圍及型態限制 但範圍是由預設的0開始
那如果是寫dim arr(50 to 100) as string 這樣的寫法 是指範圍由50開始算起 直到100 資料型態限制為文字型態

也許會有朋友認為 那是不是直接寫dim arr()這樣就好...
但我個人認為 初學過程 要越嚴緊越好! 因為越寬鬆 越有出錯機會(我指的出錯是流程出錯 並非語法出錯~)

TOP

        靜思自在 : 做該做的事是智慧,做不該做的事是愚癡。
返回列表 上一主題