返回列表 上一主題 發帖

[發問] Excel VBA 儲存格字體變色事宜(不同序頁無法變色)

[發問] Excel VBA 儲存格字體變色事宜(不同序頁無法變色)

使用軟體:Excel 2003 SP3

各位先進好
  小弟在Excel的VBA中寫了兩行程式,是關於Excel儲存格內的字體變色事宜。(用If.....Then的語法)
令小弟不解的是,這兩行程式在該檔的Sheet3執行是可行的(圖1),但在該檔的Sheet1執行卻不行!(圖2)

註:粉紅色框為程式語法。

圖1



圖2



以上,請各位先進不吝指教,祝平安順心。
錢是很寂莫的,所以會想辦法聚在一起!

回復  syuan

單純從畫面上看起來你 Sheet3 的 A 欄有文字,
但 Sheet1 卻沒有字,
會不會是這個原因?
luhpro 發表於 2012-9-19 21:59

回Luhpro

小弟依您建議,將字挪到A欄後再執行,的確就能改變字的顏色,感謝您。^^

不過小弟納悶的是,寫在儲存格裡的字是包涵在語法的("A1:AZ1000")的範圍內。照理說字就算不在A欄裡,也應該會變色才是。

但Run起來卻不會,實在讓小弟百思不得其解。

回復  syuan

檢查Sheet1的A1儲存格字型顏色設定為何?
Hsieh 發表於 2012-9-19 23:58


回Hsieh

感謝您的建議,小弟在設定Excel的顏色功能時,發現一件很特別的事。

在點選顏色後,會出現很多的顏色可以選擇,小弟在選擇黑色時,通常會直接點選"自動套色"。(如下圖虛線框處)



當選完"自動套色"時,再執行小弟所寫的那兩句語法時,卻發現字體仍然不會變色!{:3_47:}

小弟一直以為那個"自動套色"的顏色就是黑色,但在執行程式後卻無動靜!而如果顏色直接改回黑色時(如下圖虛線框處)卻又可以變色了。



小弟在想......是不是Excel有兩種黑色?{:2_30:}


註:附上小弟的檔案

test.rar (14.25 KB)


各位先進如有空閒時,能否幫忙小弟看看是哪邊出問題。以上,謝謝。

祝平安順心∼∼
錢是很寂莫的,所以會想辦法聚在一起!

TOP

回復 2# luhpro


   
回Luhpro

小弟依您建議,將字挪到A欄後再執行,的確就能改變字的顏色,感謝您。^^

不過小弟納悶的是,寫在儲存格裡的字是包涵在語法的("A1:AZ1000")的範圍內。照理說字就算不在A欄裡,也應該會變色才是。

但Run起來卻不會,實在讓小弟百思不得其解。
錢是很寂莫的,所以會想辦法聚在一起!

TOP

本帖最後由 syuan 於 2012-9-21 12:03 編輯

回復 3# Hsieh


   
回Hsieh

感謝您的建議,小弟在設定Excel的顏色功能時,發現一件很特別的事。

在點選顏色後,會出現很多的顏色可以選擇,小弟在選擇黑色時,通常會直接點選"自動套色"。(如下圖虛線框處)



小弟一直以為那個"自動套色"的顏色就是黑色,但在執行程式後卻無動靜!而如果顏色直接改回黑色時(如下圖虛線框處)卻又可以變色了。




小弟在想......是不是Excel有兩種黑色?

test.rar (14.83 KB)
以上為小弟的檔案。

各位先進如有空閒時,能否幫忙小弟看看是哪邊出問題。以上,謝謝。

祝平安順心∼∼
錢是很寂莫的,所以會想辦法聚在一起!

TOP

回復 7# luhpro


感謝luhpro大的解說,小弟先去試看看您說的那幾項。{:3_52:}

註:原來if語法不適合用在這種情況啊,我還真不知道....=="
錢是很寂莫的,所以會想辦法聚在一起!

TOP

回復 7# luhpro


    回luhpro 大

小弟試了您建議的1、2、3、4項的方式後,的確出現如您所說的現象。

真是萬分感謝∼∼

另外,小弟近日發現了range有個叫usedrange屬性,它可以去抓取使用中的儲存格範圍。

小弟試了一下這個屬性,它可以選取儲存格的所有範圍。

不過小弟在語法中加了一個Instr的語法,打算讓程式依條件來讓儲存格內的字變色,

但不管如何改,它就是只會變數字的顏色而已,無法選到其他儲存格內的字(如下圖1)

(圖1)   原本要讓儲存格內的dos字串變紅色,但程式卻讓儲存格內的數字1變紅色(Instr(1.......)


(圖2)  將語法修改後也是改到儲存格內的數字4  (小弟改為Instr(4.......)


從以上的結果看來,它似乎是針對數字在變更,而不是依字串在變更......=="

這讓小弟覺得很困惑,不知是不是小弟的語法有錯。

望各位先進不吝指教,謝謝。

祝週末愉快!
錢是很寂莫的,所以會想辦法聚在一起!

TOP

回復 10# GBKEE


    感謝GBKEE大

小弟依您提供的語法來修改小弟的語法後,已能成功變更字的顏色(如下圖){:3_59:}



不過小弟發現就算儲存格的字改為DOSXXX 後,仍然能成功變色。

也就是說這個寫法僅搜查符合DOS開頭的字串就變色,而如果DOS字串後有加別的字就忽略。

不知小弟這樣的想法是否正確?
錢是很寂莫的,所以會想辦法聚在一起!

TOP

回復 12# GBKEE

回覆GBKEE大

  小弟試了您提供的方式,但儲存格內的字串並無變色(如下圖)

   

小弟有查了LIKE的說明,發現它似乎是用來對照字串用的(如下圖)



以上,謝謝!
錢是很寂莫的,所以會想辦法聚在一起!

TOP

回復 14# GBKEE


感謝GBKEE大
那個INSTR的語法,小弟已有依您提供的方式試出。
現小弟正試著將這個語法來帶入自己正在研究的小程式中。
錢是很寂莫的,所以會想辦法聚在一起!

TOP

        靜思自在 : 愛不是要求對方,而是要由自身的付出。
返回列表 上一主題