Board logo

標題: [發問] ReDim的用法 [打印本頁]

作者: acdx    時間: 2013-9-13 11:25     標題: ReDim的用法

由於HeadSone這個陣列大小是變動的,最大不會超過25,所以我先宣告他的大小為25;當符合我所訂的條件時就將某一範圍指定給HeadSone...符合條件的項數有多少個HeadSone的大小就會是多少,我在這裡做一個計數器j 用來計算HeadSone的大小再利用ReDim Preserve HeadSone去改變陣列大小
我的問題是必須額外使用j來計算該變數的大小嗎?有方法可以省略j讓HeadSone直接改變大小嗎?
'-------------------------------------------------------------------------------------
ReDim HeadSone(25)
t1 = 0
t2 = 0
j = 0
For fsi = 15 To 238
    If Cells(fsi, 5) = Cells(fsi + 1, 5) And Cells(fsi, 5) <> Cells(fsi - 1, 5) Then t1 = fsi
    If Cells(fsi, 5) = Cells(fsi - 1, 5) And Cells(fsi, 5) <> Cells(fsi + 1, 5) Then t2 = fsi
        If t1 <> 0 And t2 <> 0 Then
            Set HeadSone(j) = Range(Cells(t1, 5), Cells(t2, 5))
            HS_S(j) = t1
            HS_E(j) = t2
            j = j + 1
            t1 = 0
            t2 = 0
        End If
Next fsi
m = j - 1   '共有m-1組
ReDim Preserve HeadSone(m)
For j = 1 To UBound(HeadSone)
    Cells(15 + j, 6) = Application.Index(HeadSone(j), 1, 1)
Next j
作者: oobird    時間: 2013-9-13 12:42

m = j - 1   '共有m-1組
    Cells(15 , 6).resize(m,1) = Application.transpose(HeadSone)
直接貼上可也,不要循環




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