- 帖子
- 2848
- 主題
- 10
- 精華
- 0
- 積分
- 2903
- 點名
- 0
- 作業系統
- 〔略〕
- 軟體版本
- 〔略〕
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 〔略〕
- 註冊時間
- 2013-5-13
- 最後登錄
- 2026-7-25
|
Sub 標示底色()
Dim xS As Worksheet, R&, Arr, A, xD, xU As Range, N&
Set xD = CreateObject("Scripting.Dictionary")
For Each xS In Sheets(Array("準2進3", "準3進4", "準4進5", "準5進6", "準6進7", "準7進8"))
R = xS.[b65536].End(xlUp).Row
xS.[d2].Resize(R, 7).Interior.ColorIndex = xlNone
Set xU = xS.[c2]
For j = 1 To 7: xD(Val(xS.Cells(R, j + 12))) = 1: Next j
Arr = xS.[d1].Resize(R, 7)
For i = 2 To R: For j = 1 To 7
For Each A In Split(Arr(i, j), ",")
If xD(Val(A)) > 0 Then Set xU = Union(xS.Cells(i, j + 3), xU): Exit For
Next A
Next j: Next i
'-------------------------------
R = xS.[a65536].End(xlUp).Row
xS.[a4].Resize(R).Interior.ColorIndex = xlNone
Arr = xS.[a1].Resize(R)
For i = 4 To R
If xD(Val(Arr(i, 1))) > 0 Then Set xU = Union(xS.Cells(i, 1), xU)
Next i
xU.Interior.ColorIndex = 8
xS.[c2].Interior.ColorIndex = xlNone
xD.RemoveAll: N = 0
Next xS
End Sub |
|