Excel表格中查詢內容,通常以單元格值的形式來進行查詢,如果想以單元格的顏色來到查詢,如何實現呢?看完本節內容你就明白了。Excel中有查詢對話方塊,這裡不做介紹,很明顯,看到的內容
2021-08-16 03:11:02
Excel表格中查詢內容,通常以單元格值的形式來進行查詢,如果想以單元格的顏色來到查詢,如何實現呢?
看完本節內容你就明白了。
Excel中有查詢對話方塊,這裡不做介紹,很明顯,看到的內容並沒有多麼難學。
接下來查詢對話方塊背後的程式碼,進行一下解釋學習。
首先要認識一個屬性:FindFormat
這個屬性是Application物件下的一個屬性,其功能就是設定查詢的格式。
也就是說,想要查詢什麼顏色的單元格或什麼字型字號的單元格,進行定義。
如下圖所示,做了一個示例,查詢藍色背景的單元格,字號為12,字型為" 宋體"
既然是查詢,那就要用到一個查詢方法:Find()
這個方法有很多參數,前面的文章有介紹,可以找一下看具體用法。下面的示例中也有相關內容。
其中有一個參數是否和FindFormat屬性有關。
searchformat:=True
searchformat參數的意義:是否按查詢格式進行,設定為True,很顯然要按照設定的格式查詢,如果為False那是否。
上述就是重點,下面具體看程式碼:
Option Explicit
Private Sub CommandButton1_Click()
Dim FindStyleObj As Object '定義查詢條件物件
Set FindStyleObj = Application.FindFormat
With FindStyleObj '定義查詢的條件
.Interior.Color = QBColor(9) '查詢背景顏色
.Font.Size = 12 '查詢字號為12
.Font.Name = "宋體"
End With
Dim cell As Range, cellAddress As String, r As Range
Set cell = ActiveSheet.UsedRange.Find(what:="*", _
searchorder:=xlByRows, searchformat:=True) '查詢並返回單元格
If cell Is Nothing Then MsgBox "什麼都沒有找到!": Exit Sub
cellAddress = cell.Address '儲存第一個找到單元格地址
Set r = cell '設定第一個單元格
Do While Not cell Is Nothing
Set r = Application.Union(r, cell) '組合找到的確單元格
Set cell = ActiveSheet.UsedRange.Find(what:="*", _
after:=cell, searchorder:=xlByColumns, searchformat:=True) '查詢並返回單元格
If cell.Address = cellAddress Then Exit Do '如果返回到第一個查到的單元格就退出查詢
DoEvents
Loop
r.Select
MsgBox "找到了如下單元格: " & r.Address
Dim sStyle As String
sStyle = "搜尋條件:" & VBA.vbCrLf & _
"背景顏色值為:" & _
FindStyleObj.Interior.Color & _
VBA.vbCrLf & "字號大小為:" & FindStyleObj.Font.Size
MsgBox sStyle '輸出查詢條件
FindStyleObj.Clear '清除查詢條件
Set FindStyleObj = Nothing
End Sub
程式碼就不逐行介紹了,都要有註釋,如果不懂,那說明不適合本階段的學習,收藏後再慢慢學習應用。
別看程式碼有點多,實際上重要的內容就幾行,如find()函數和Application.FindFormat。
Application.FindFormat可以返回一個CellFormat物件,此物件可設定查詢單元格的屬性。雖然在程式碼中沒有明確體現,但是有一個行就是這個方法實現的。
Set FindStyleObj = Application.FindFormat
FindStyleObj就是一個CellFormat物件。
單元格查詢是一個很實用的功能,如果按照不同顏色或字型進行查詢,那麼可以實現一些特別的確功能。
前提是要首先對錶格進行了一些單元格設定之後,不然什麼也不找到就毫無意義了。
歡迎關注、收藏
---END---
相關文章
Excel表格中查詢內容,通常以單元格值的形式來進行查詢,如果想以單元格的顏色來到查詢,如何實現呢?看完本節內容你就明白了。Excel中有查詢對話方塊,這裡不做介紹,很明顯,看到的內容
2021-08-16 03:11:02
熬過了炎炎夏日,以為終於迎來了涼爽的秋天,但這高溫天氣似乎並沒有要走的意思,反而愈發「熱烈」,而比這天氣更熱的恐怕只有8月裝修季了!相信很多小夥伴都在摩拳擦掌,只待八月動工,
2021-08-16 03:10:53
iPhone13如期而至將會在下個月釋出,這次蘋果的準備工作很足,浩南富士康的朋友透露,現在iPhone 13的零部件開始持續生產,某個零件日產量達到5000個,像去年延期釋出是不可能了,預計
2021-08-16 03:10:45
計算機硬體的基本組成要了解數字計算機的主要組成和工作原理,可從打算盤說起。假設給了一個算盤、一張帶有橫格的紙和一 支筆,要求我們計算y=ax+b-c這樣一個題目。為了 和下面
2021-08-16 03:10:11
與往年不同,近幾年國內網際網路行業的大佬都一改高調的行事作風,給人一種十分規矩且低調的感覺。例如馬雲,已經很少公開演講或者高調做慈善,而是一步步脫離阿里巴巴,淡出眾人的視
2021-08-16 03:09:55
眾所周知,前段時間特斯拉釋出了2季度的報表,從報表來看,特斯拉這一季度是非常給力的,主要指標均在上升,除了位元幣虧錢之外,其它都在向好。比如營收高達119.58億美元(774.5億元),同比
2021-08-16 03:09:48