返回列表 上一主題 發帖

[發問] 關鍵字讓列文字變色

[發問] 關鍵字讓列文字變色

如圖,以vba執行將P欄為"已出圖"的時候,整列到V欄位置的文字變色?

謝謝

列變色.jpg (37.67 KB)

列變色.jpg

本帖最後由 Andy2483 於 2023-10-25 08:04 編輯

回復 16# 准提部林
回復 1# wayne0303

謝謝 准提部林前輩指導,學習心得如下,請前輩再指教






Private Sub Worksheet_Change(ByVal Target As Range)
'↑當使用者或外部連結變更工作表中的儲存格時會發生此事件
https://learn.microsoft.com/zh-t ... el.worksheet.change
Dim xA As Range, xR As Range
'↑宣告(xA,xB)是儲存格變數
Set xA = Intersect(Target, Range("V:V"))
'↑令這xA儲存格變數是(觸發格與V欄儲存格)交集的儲存格
If xA Is Nothing Then Exit Sub
'↑如果xA變數是空的!就結束程序執行
Application.ScreenUpdating = False
'↑令螢幕暫時停止變化
For Each xR In xA
'↑設逐項迴圈!令xR這儲存格變數是xA變數裡的一個儲存格
    Range(Cells(xR.Row, 1), xR).Font.ColorIndex = 15 ^ -(xR = "已出圖")
    '↑令xR變數所在列的第1欄儲存格到xR變數間的字色是邏輯計算後的色號
    '當xR = "已出圖":(True)  >>  15 ^ -(-1)   >>  15
    '當xR = "已出圖":(False)  >>  15 ^ -(0)   >>  1

Next
End Sub
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

回復 33# Andy2483


    是不需要那麼多選項啦XD
    謝謝熱心的Andy大大~

TOP

回復 32# wayne0303

列出的方法:
15 ^ -(InStr("/事假/病假/出差/離職/特休/", "/" & xR & "/") > 0)
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

回復 31# Andy2483


    好喔~謝謝Andy大

TOP

回復 30# wayne0303


最右邊的字是"假"也可以
Right(xR, 1) = "假"
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

回復 29# Andy2483


    喔喔喔~萬用字元是用 Like "*"
    謝謝Andy大大~

TOP

回復 28# wayne0303


15 ^ -(xR = "已出圖")   改成
15 ^ -((xR Like "*假") + (xR = "出差") <> 0)
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

本帖最後由 wayne0303 於 2023-10-23 10:10 編輯
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xA As Range, xR As Range
Set xA = Intersect(Target, Range("P:P"))
If xA Is Nothing Then Exit Sub
Application.ScreenUpdating = False
For Each xR In xA
    Range(Cells(xR.Row, 1), Cells(xR.Row, 22)).Font.ColorIndex = 15 ^ -(xR = "已出圖")
Next
End Sub


    不好意思,想請問可以用這個程式碼將關鍵字改成關鍵字內只要有"假"(例如事假、病假...之類,萬用字元的代碼)或"出差"就有反應,這樣嗎?

    謝謝~

TOP

回復 25# Andy2483


    感謝Andy大的提點得以應用工作表的程式碼執行了~謝謝

TOP

        靜思自在 : 【時間如鑽石】時間對一個有智慧的人而言,就如鑽石般珍貴;但對愚人來說,卻像是一把泥土,一點價值也沒有。
返回列表 上一主題