- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 165
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2025-7-9
               
|
本帖最後由 Hsieh 於 2010-12-15 15:28 編輯
回復 3# sandra_wang
關於L2為3的編碼是否要有3個MAX
試試看- Sub Ex()
- Dim A As Range, MyStr$
- Set d = CreateObject("Scripting.Dictionary")
- Set d1 = CreateObject("Scripting.Dictionary")
- Set d2 = CreateObject("Scripting.Dictionary")
- k = 182
- With Sheets("DATABASE")
- Do Until .Cells(1, k) = ""
- Set A = .Cells(1, k)
- d(A.Value) = A.Resize(5, 1).Value
- k = k + 1
- Loop
- End With
- With Sheets("OUTPUT")
- k = 9
- Do Until .Cells(1, k) = ""
- MyStr = Replace(.Cells(1, k), "_", "")
- Set A = .Cells(2, k).Resize(3, 1)
- s = 1
- For j = 1 To 3
- mykey = IIf(j = 1, "Max_", IIf(j = 2, "Min_", "Middle_"))
- For i = 1 To A(j)
- d1(mykey) = d1(mykey) + 1
- d2(MyStr & "_" & s) = d(mykey & d1(mykey))
- s = s + 1
- Next
- Next
- k = k + 1
- Loop
- k = 3
- For Each ky In d2.keys
- .Cells(6, k) = ky
- .Cells(70, k).Resize(5, 1) = d2(ky)
- k = k + 1
- Next
- End With
- End Sub
複製代碼 |
|