返回列表 上一主題 發帖

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

回復 10# GBKEE


    感謝GBKEE大

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



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

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

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

TOP

回復 11# syuan
沒錯的.
LIKE 也可比對字串
  1. 四式 分別 執行看看  
  2.     If A   LIKE  "DOS" Then A.Font.Color = vbRed
  3.     If A   LIKE  "DOS*" Then A.Font.Color = vbRed
  4.     If A   LIKE  "*DOS" Then A.Font.Color = vbRed
  5.     If A   LIKE  "*DOS*" Then A.Font.Color = vbRed
複製代碼

TOP

回復 12# GBKEE

回覆GBKEE大

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

   

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



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

TOP

回復 13# syuan
看你的圖片:  程式碼不完整
  1.     Option Explicit
  2. Sub Ex()
  3.     Dim A As Range
  4.     For Each A In Sheets("Sheet1").UsedRange.Range("C:C")
  5.         If InStr(A, "DOS*") Then A.Font.Color = vbRed
  6.     Next
  7. End Sub
複製代碼

TOP

回復 14# GBKEE


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

TOP

回復  syuan
試試看
GBKEE 發表於 2012-10-26 17:48



感謝大大無私分享,非常受用!
For Each A In Sheets("Sheet1").UsedRange

Each
USeRange
這兩個用法小弟愚昧懇請大大解說!

TOP

        靜思自在 : 道德是提昇自我的明燈,不該是呵斥別人的鞭子。
返回列表 上一主題