- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
2#
發表於 2011-9-15 21:07
| 只看該作者
回復 1# ffntldj
試試看- Sub Ex()
- Dim D As Object, Rng As Range, R As Range, Ar()
- Set D = CreateObject("SCRIPTING.DICTIONARY") '設立DICTIONARY物件
- Set Rng = [A1:C9] '指定範圍
- For Each R In Rng.Rows 'Rows 指定範圍的每一列
- Ar = Application.Transpose(Application.Transpose(R.Cells.Value)) '將R轉置二次轉換為一維陣列
- D(Join(Ar, ",")) = Ar 'DICTIONARY物件 KEY ->Join(AR, ",") ,DICTIONARY物件 ITEM->Ar
- Next
- [E1].Resize(D.Count, Rng.Columns.Count) = Application.Transpose(Application.Transpose(D.items))
- 'D.Count-> D的總數, Rng.Columns.Count->Rng欄位的總數.
- '每一 D.ITEM 是為一維陣列 D.ITEMs ->D.ITEM的集合.
- 'Application.Transpose(Application.Transpose(D.ITEMS)) ->將D.ITEMS 轉置二次後為二為陣列
- End Sub
複製代碼 |
|