我們通過一個關鍵詞查詢案例來掌握一下文本處理函數和循環查詢,算是對VBA入門的一個鞏固!
需求:找出所有含有"科技"的公司,字體紅色+加粗
邏輯處理:我們循環查詢每一個公司名稱,因為要標記,所以我們需要找到開始的位置+2 文字設置字體的顏色和加粗(這個部分可以通過錄制宏修改)
▼ 代碼執行效果
源碼:
Option Explicit
'功能:
關鍵詞查詢并標記紅色+加粗
'
作者:
E精精
'公眾號:
Excel辦公實戰
'
日期:
20211207
'---------------------------------------------
Sub 關鍵詞查詢()
????Dim rng As Range '
定義一個單元格變量
????Dim idx
As
?Long
'科技出現的位置
????'
遍歷C3:
C18這個區域
????
For
?Each rng In Range(
"C3:C18"
)
????????idx = InStr(rng.Value,
"科技"
)
????????
If
?idx >
0
?Then
????????????With
rng.Characters(idx,
2
).Font
????????????????.Color
= vbRed
'設置為紅色
????????????????.Bold
= True '
字體加粗
????????????End
With
????????End
If
????Next
End Sub
代碼基本都有注釋,如果自己使用可以簡單修改一下 需要處理的數據區域!
C3:C18
這里我們用到了一種新的循環方式,不同于上次我們講乘法口訣使用的按次循環,本次是按對象迭代,區域中的每一個單元格都會本遍歷,如果是一個區域,會按照先行后列的順序處理!
看打印結果,依次是A1->B1->A2->B2!
字體的處理,我們使用Range.對象,如果你不會寫,其實可以通過錄制宏,自己設置一下字體顏色得到,不過錄制宏的代碼冗余很多,自己找到關鍵地方提取!
新手可以提取以上框起來的核心代碼,如果你熟悉,就可以直接自己寫了,代碼不完全一樣,效果一樣的!
如果你還想把這些內容提取出來那么excel查找關鍵字并篩選出來,使用函數比較簡單!
當然我們也可以使用代碼,直接加一兩句即可!但是如果你先做的更加友好通用一些,我們就需要加億點點細節 考慮通用性和容錯!
▲千篇原創,您的問題,都有答案,只差一個關注
然后就變成這樣了excel查找關鍵字并篩選出來,代碼模板為什么不太好開發,因為要考慮的東西太多,每一個環節實際都有可能出現奇奇怪怪的操作,所以……
▼模板-加入交互和容錯!
模板下載:后臺回復關鍵詞:cx001
今天就到這里!都看到這里了,要不來個“三連”,鼓勵一下小編吧!