- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 142
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2026-7-16
                
|
回復 1# basarasy
猜想是這樣的意思- Sub Ex()
- Dim Ar(), Ay(), Rng As Range, A As Range, s%, j%
- Set Rng = [A1:G1]
- For Each A In Rng
- If A = Application.Max(Rng) Then
- ReDim Preserve Ar(s)
- ReDim Preserve Ay(s)
- Ar(s) = A.Address
- Ay(s) = A.Column
- s = s + 1
- End If
- Next
- [H1].Resize(, s) = Ay: s = 0: Erase Ar
- Set Rng = Nothing
- For j = 0 To UBound(Ay)
- If Rng Is Nothing Then Set Rng = Cells(2, Ay(j)) Else Set Rng = Union(Rng, Cells(2, Ay(j)))
- Next
- For r = 2 To Cells(Rows.Count, 1).End(xlUp).Row
- For Each A In Rng
- If A = Application.Min(Rng) Then
- ReDim Preserve Ar(s)
- ReDim Preserve Ay(s)
- Ar(s) = A.Address
- Ay(s) = A.Column
- s = s + 1
- End If
- Next
- Cells(r, "H").Resize(, s) = Ay
- For j = 0 To UBound(Ay)
- Set Rng = Union(Rng, Cells(2, Ay(j)))
- Next
- s = 0: Erase Ay: Erase Ar
- Next
- End Sub
複製代碼 另外用數字代替欄位OK的
Columns(1).Delete |
|