大家好,請問一下如果設定格式化不能超過3個,那我該怎麼寫程式或用哪一個函數搜尋呢?(我的是2003的版本)
以下面這張表來說,我想搜尋11分使它變紅色,搜尋22分變藍色,搜尋33分變黃色,搜尋20分變綠色,可以這樣做嗎?
不好意思,我對這個不了解,有朋友可以敎我一下嗎?
國文
英文
數學
理化
歷史
軍訓
張三
11
22
33
44
55
66
李四
10
20
30
40
50
60
小伍
12
23
34
45
56
67
老六
11
20
33
12
66
12
2006-11-30 18:23:57 · 3 個解答 · 發問者 ? 6 in 電腦與網際網路 ➔ 軟體
大家都好厲害,在請問一下,如果我要搜尋11和33的有誰,並把他找出來,我又該怎麼改程式呢?煩請在指導一下,謝謝。
2006-12-01 19:34:42 · update #1
另外請問魔人大大,請問能給我常用的顏色代碼嗎,謝謝^^
2006-12-01 19:41:35 · update #2
請問大大,使用這個模組是否可以限制範圍呢?因為我後面還有一格欄位,也會被這個模組所影響,可以在指導一下嗎,謝謝。
2006-12-02 11:52:58 · update #3
請問魔人大大,如果我要搜尋11和33和66分的有誰,並把他找出來(以顏色註記),我又該怎麼改程式呢?煩請在指導一下,謝謝。
2006-12-02 18:36:03 · update #4
魔人大大不好意思,我說的不完整,是同時11和33和66分,同時有這3個分數的,要把人名找出來並加上顏色,這要怎麼改呢。
2006-12-02 18:50:29 · update #5
1. 打開你要設定自動填色的Excel檔案, 執行選單 [工具][巨集][Visual Basic編輯器].2. 在左方的專案瀏覽視窗 VBAProject按右鍵, [插入][模組], 在Module1裡貼上以下程式碼:Sub SetColor() Dim d Set d = CreateObject("Scripting.Dictionary") ' 在這裡增加分數與顏色代號的對應表 d.Add 11, 3 d.Add 22, 5 d.Add 33, 36 d.Add 20, 50 For Each C In ActiveSheet.UsedRange C.Interior.ColorIndex = d.Item(C.Value) NextEnd Sub你可以用 d.add 增加你要的 分數-顏色代表 對應表, 3是紅色 5是藍色 36是黃色 50是綠色. 執行巨集, 程式就會自動搜尋畫面上所有有使用到的儲存格, 並且套上顏色. 用這個方法, 你可以定義N種顏色, 不會受到格式化條件的最多只有三個條件的限制.
2006-12-02 22:32:30 補充:
1.如果要指定範圍, 程式改為 For Each C In ActiveSheet.Range("A1:C5"),雙引號中間的範圍可自己改,也可以複選,例如 "A1:B2, C2:D4"。2.色碼你用錄製巨集的方式,把所有的顏色都點過一遍,就知道每個顏色的代碼囉。
2006-12-02 23:44:06 補充:
是任何一科分數11或33或66分,就把名字挑出來嗎?那要給什麼顏色?如果你是要挑出有任何一科不及格的人,那其實不必VBA,用格式化條件就可以,把每一row用min()找出最低分,再看最低分是否低於60(或者落在11,22,33三者之一)
2006-12-03 00:18:09 補充:
ㄟ..盡量一開始把所有的要求講完,不然程式碼要整個重寫,因為是完全不一樣的思惟。Sub test() Const rowNum = 5 ' 定義資料有幾列 Const colNum = 7 ' 定義資料有幾欄 Dim arr(3) As Boolean Dim d Set d = CreateObject("Scripting.Dictionary") ' 在這裡增加分數與顏色代號的對應表 d.Add 11, 3 d.Add 22, 5 d.Add 33, 36 d.Add 20, 50
2006-12-03 00:18:55 補充:
For i = 1 To rowNum arr(1) = False arr(2) = False arr(3) = False For j = 2 To colNum Select Case Cells(i, j).Value Case 11 arr(1) = True Case 33 arr(2) = True
2006-12-03 00:19:08 補充:
Case 66 arr(3) = True End Select Cells(i, j).Interior.ColorIndex = d.Item(Cells(i, j).Value) Next If arr(1) And arr(2) And arr(3) Then Cells(i, 1).Interior.ColorIndex = 38 End If NextEnd Sub
2006-12-01 06:15:08 · answer #1 · answered by 微軟卓越魔人 6 · 0⤊ 0⤋
格式化條件可再上儲存格格式
最多就可設6個了
格式化條件就如同applerot專家所言
儲存格設定如下:
反白你的資料範圍
格式→儲存格→自訂→類型鍵入
[綠色][=20]0;[色彩][=數值]0;[色彩][=數值]0
但色彩祇能設以下八種
[黑色] [藍色][深藍色] [綠色][紫紅色] [紅色][白色] [黃色]
2006-12-01 06:31:38 · answer #2 · answered by e 6 · 0⤊ 0⤋
只有三個顏色,就用設定格式化條件就可完成了,也不要用到函數,下拉選單[儲存格的值],[等於]11新增[等於]22新增[等於]33調整[格式][圖樣]顏色.
2006-12-01 05:39:15 · answer #3 · answered by 顯栓 7 · 0⤊ 0⤋