- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
回復 1# yuch8663
試試看- Sub Color()
- '示範到第三區----------------------------------------------------------------
- Dim 區域 As Range, Ar1, Ar2, Ar3, 值, 底色, 字色, i%
- Set 區域 = ThisWorkbook.Sheets("sheet2").[b4:i15,j4:l15,m4:n15]
- '區域是各區的位置 請修改
- Ar1 = Array(Array(800, 500, 200), Array(1600, 900, 400), Array(4000, 2500, 1000))
- 'Ar1 陣列 依序對應到是各區塊的值
- Ar2 = Array(Array(40, 36, 19, 24, 15, 48, 35), Array(40, 36, 19, 24, 15, 48, 35), Array(3, 22, 40, 43, 50, 10, 39))
- 'Ar2 陣列 依序對應到是各區塊 If 所判斷的底色的索引值
- Ar3 = Array(Array(3, 11, 1), Array(3, 11, 1), Array(6, 3, 1))
- 'Ar3 陣列 依序對應到是各區塊 If 所判斷的字體顏色的索引值
- For i = 0 To 區域.Areas.Count - 1 '依序在 區域的各區塊
- For Each F In 區域.Areas(i + 1).Cells '依序在 區塊的每一個 Cell
- 值 = Ar1(i): 底色 = Ar2(i): 字色 = Ar3(i) '取得區塊所對應到的陣列
- F.Font.Bold = True
- If F > 值(0) Then
- F.Interior.ColorIndex = 底色(0)
- F.Font.ColorIndex = 字色(0)
- ElseIf F > 值(1) And F <= 值(0) Then
- F.Interior.ColorIndex = 底色(1)
- F.Font.ColorIndex = 字色(0)
- ElseIf F > 值(2) And F <= 值(1) Then
- F.Interior.ColorIndex = 底色(2)
- F.Font.ColorIndex = 字色(0)
- ElseIf F < -值(2) And F >= -值(1) Then
- F.Interior.ColorIndex = 底色(3)
- F.Font.ColorIndex = 字色(1)
- ElseIf F < -值(1) And F >= -值(0) Then
- F.Interior.ColorIndex = 底色(4)
- F.Font.ColorIndex = 字色(1)
- ElseIf F < -值(0) Then
- F.Interior.ColorIndex = 底色(5)
- F.Font.ColorIndex = 字色(1)
- Else
- F.Interior.ColorIndex = 底色(6)
- F.Font.ColorIndex = 字色(2)
- F.Font.Bold = False
- End If
- Next
- Next
- End Sub
複製代碼 |
|