Range.Find 方法 (Excel)
在區域中查找特定信息。
語法
表達式.Find (What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)
expression 一個表示 Range 對象的變量。
參數
名稱 |
必需/可選 |
數據類型 |
說明 |
What |
必需 |
Variant |
要搜索的數據。 可為字符串或任意 Microsoft Excel 數據類型。 |
After |
可選 |
Variant |
要在其后開始搜索的單元格。 從用戶界面搜索時,這對應於活動單元格的位置。 |
LookIn |
可選 |
Variant |
可以是下列 XlFindLookIn 常量之一:xlFormulas、xlValues、xlComments 或 xlCommentsThreaded。 |
LookAt |
可選 |
Variant |
可以是下列 XlLookAt 常量之一:xlWhole 或 xlPart。 |
SearchOrder |
可選 |
Variant |
可以是以下 XlSearchOrder 常量之一:xlByRows 或 xlByColumns。 |
SearchDirection |
可選 |
搜索的方向。 |
|
MatchCase |
可選 |
Variant |
如果為 True,則搜索區分大小寫。 默認值為 False。 |
MatchByte |
可選 |
Variant |
僅在選擇或安裝了雙字節語言支持時使用。 如果為 True,則雙字節字符僅匹配雙字節字符。 如果為 False,則雙字節字符匹配其單字節等效字符。 |
SearchFormat |
可選 |
Variant |
搜索格式。 |
返回值
一個 Range 對象,它代表在其中找到該信息的第一個單元格。
注解
如果未發現匹配項,此方法返回 Nothing。 Find 方法不會影響所選內容或活動單元格。
每次使用此方法時,都會保存 LookIn、LookAt、SearchOrder 和 MatchByte 的設置。 如果在下次調用此方法時不指定這些參數的值,則使用保存的值。 設置這些參數會更改“查找”**** 對話框中的設置,更改“查找”**** 對話框中的設置會更改省略參數時使用的已保存值。 為避免出現問題,請在每次使用此方法時顯式設置這些參數。
使用 FindNext 和 FindPrevious 方法可重復搜索。
當搜索到達指定的搜索區域末尾時,它會繞到該區域開頭位置。 若要在發生此繞回時停止搜索,請保存第一個找到的單元格的地址,然后針對此保存的地址測試每個連續找到的單元格地址。
若要查找與更復雜模式匹配的單元格,請將 For Each...Next 語句與 Like 運算符結合使用。 例如,以下代碼搜索區域 A1:C5 中使用其名稱以字母 Cour 開頭的字體的所有單元格。 Microsoft Excel 找到一個匹配項時,會將字體更改為 Times New Roman。
VB |
For Each c In [A1:C5] If c.Font.Name Like "Cour*" Then c.Font.Name = "Times New Roman" End If Next` |
示例
本示例在第一個工作表的單元格區域 A1:A500 中查找包含值 2 的所有單元格,並將這些單元格的值更改為 5。
VB |
With Worksheets(1).Range("a1:a500") Set c = .Find(2, lookin:=xlValues) If Not c Is Nothing Then firstAddress = c.Address Do c.Value = 5 Set c = .FindNext(c) Loop While Not c Is Nothing End If End With |