- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
2#
發表於 2013-3-12 09:31
| 只看該作者
回復 1# aoss98
試試看- Sub Ex()
- Dim R As Integer, Col As Integer, AR() '():動態陣列 , AR(1)--靜態陣列(0 <-> 1)->[下限<->上限]
- R = 2 '第2列
- Col = 3 '第3欄
- ReDim AR(0) '[ReDim 重新設置]動態陣列:設置元素範圍(0<->0)->[下限<->上限]
- AR(0) = Array("ART", "COL.", "SIZE", "QTY.") '指定列陣元素的內容
- With Sheet1
- Do While .Cells(R, Col) <> "" '第2列->往下 遇到空白儲存格則停止迴圈
- Do While .Cells(R, Col) <> "" '第3欄->往右 遇到空白儲存格則停止迴圈
- ReDim Preserve AR(UBound(AR) + 1) '動態陣列:設置元素範圍 (0<->上限+1),Preserve:要保留舊有元素關鍵字
- AR(UBound(AR)) = Array(.Cells(R, "A").Value, .Cells(R, "B").Value, .Cells(1, Col).Value, .Cells(R, Col).Value)
- Col = Col + 1 '->往右
- Loop
- Col = 3
- R = R + 1 '->往下
- Loop
- End With
- With Sheet2
- .Cells.Clear '儲存格: 清除
- .[A1].Resize(UBound(AR) + 1, 4).Value = Application.Transpose(Application.Transpose(AR))
- '取出陣列元素的內容
- End With
- End Sub
複製代碼 |
|