Board logo

標題: 如何設定儲存格部分字串的顏色 [打印本頁]

作者: jsc0518    時間: 2018-3-13 16:01     標題: 如何設定儲存格部分字串的顏色

Dear 各位先進,
在網路上有找到設定儲存格部分字串的顏色的VBA語法(如下)
這語法關鍵字串為 " / "
我想改成關鍵字串為 " 倉管課 " ,那我的語法該如何修改呢?謝謝各位


'這個讓你新打的內容所有"/"都變紅
Private Sub Worksheet_Change(ByVal Target As Range)
    '先將字體都改成黑
    Target.Font.ColorIndex = xlAutomatic
    '將所有"/"都變紅
    redSlash Target
End Sub



'更改"/"顏色為紅色
'引數為選擇區或輸入區儲存格
Sub redSlash(Target As Range)
Dim Rng As Range            '儲存格索引
Dim i As Long, j As Long    'i 為返回位置, j 為搜尋比對起始位置
'遍歷區域所有儲存格
For Each Rng In Target.Cells
    '搜尋起始位置
    j = 1
    With Rng
        Do      '一直找到沒有"/"
            '尋找"/"位置
            i = VBA.InStr(j, .Text, "/")
            '如果找到將那個"/"字改為紅色
            If i > 0 Then .Characters(i, 1).Font.ColorIndex = 3
            '移動下次搜尋位置
            j = i + 1
        Loop While i > 0
    End With
Next
End Sub

作者: jcchiang    時間: 2018-3-13 16:22

回復 1# jsc0518
           i = VBA.InStr(j, .Text, "倉管課")           
         If i > 0 Then .Characters(i, 3).Font.ColorIndex = 3
作者: jsc0518    時間: 2018-3-14 07:58

回復 2# jcchiang

您好!感謝您的回覆,TEST OK。

請問一下,那這一段語法中的redSlash Target不是指說將所有"/"都變紅

是否需修改呢?



Private Sub Worksheet_Change(ByVal Target As Range) '這個讓你新打的內容所有"/"都變紅

    Target.Font.ColorIndex = xlAutomatic  '先將字體都改成黑
    redSlash Target '將所有"/"都變紅
   
End Sub
作者: jcchiang    時間: 2018-3-14 08:11

回復 3# jsc0518
不用,那只是註解這段程式的用法
作者: jsc0518    時間: 2018-3-14 08:29

回復 4# jcchiang
了解,謝謝您的指導!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)