Excel 儲存格改變顏色問題請教

請問在Excel工作表中,I5:AK5表工作完成情況
若儲存格I5內容為"完成"則將i2:i38底色改為索引顏色20
若儲存格I5內容為"未完成"則將i2:i38底色改為索引顏色19
其他情況則將i2:i38底色改為索引顏色2
小弟初學VBA試寫成如下,不知哪裡出錯,敬請指正,感謝!


Sub check()
Dim a As Integer
For a = 9 To 38
If Range(Cells(Chr(64 + a), 5)).Text = "完成" Then
Range(Cells(Chr(64 + a), 2)).Cells(Chr(64 + a), 48).Interior.ColorIndex = 20
ElseIf Range(Cells(Chr(64 + a), 5)).Text = "未完成" Then
Range(Cells(Chr(64 + a), 2)).Cells(Chr(64 + a), 48).Interior.ColorIndex = 19
Else
Range(Cells(Chr(64 + a), 2)).Cells(Chr(64 + a), 48).Interior.ColorIndex = 2
End If
Next a
End Sub
2013-02-25 14:21 發佈

bv8af wrote:
請問在Excel工作...(恕刪)


To make it more easy, I will suggest to using "Conditional Formatting" instead of VBA...

10 wrote:
To make it...(恕刪)


謝謝您的回應,小弟已經試過格式化條件,但是無法因該儲存格之變化,去指定其他儲存格之底色,還是另有方法?
Deleted the content, sorry!
Deleted the content, sorry!
幫你指一下VBA的錯誤...

cells()內的引數用錯了...
請去查明cells()內引數該怎麼寫...
range()的用法也錯了...
這題不需要用到range()也能解決...

不過這題用格式化的確比較正確...
實際在做請用格式化去做...
不要寫VBA...

froce wrote:
幫你指一下VBA的錯...(恕刪)


謝謝指正,確實不清楚的地方還很多。
應該是我的問題說的不夠清楚:
1.A3:Z3 "完成","未完成"
2.若"完成"則,整欄底色全部改成某顏色
3.若"未完成"則,整欄底色全部改成另一顏色
小弟愚鈍想不出來,這樣要如何用格式化來設定,或是用VBA來做,還請指點一二。
後來看了一下你的要求...不寫vba好像沒辦法做...
就幫你寫了...
請自己看cells和range的用法...
---

Sub check()
If Cells(5, 9).Value = "完成" Then
Range("I2", "I38").Interior.ColorIndex = 20
Else
If Cells(5, 9).Value = "未完成" Then
Range("I2", "I38").Interior.ColorIndex = 19
Else
Range("I2", "I38").Interior.ColorIndex = 2
End If
End If
End Sub
bv8af wrote:
請問在Excel工作表中,I5:AK5表工作完成情況
若儲存格I5內容為"完成"則將i2:i38底色改為索引顏色20
若儲存格I5內容為"未完成"則將i2:i38底色改為索引顏色19
其他情況則將i2:i38底色改為索引顏色2....恕刪)


我想我是誤會和看錯了樓主的要求,我再用 Conditional Formatting 重寫,這次用了"Use a formula to determine which cell to format",一共三個條件如下:








在上面的例子中,若果L5格內既不是"未完成",亦不是"完成",這樣就會將i2至i38的格子底色轉為藍色。若果L5格內是"未完成",則格子底色轉為紅色。若果L5格內是"完成",則格子底色轉為綠色。

當L5的內容改變,i2至i38的格子底色也會自動更新,這個做法對嗎?

10 wrote:
我想我是誤會和看錯了...(恕刪)


真是感謝二位大大的指點,真的可以不需要VBA就做到我想要的,感恩!
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?