VBA中FIND方法的使用說明zz


 

Find 方法在區域中查找特定信息。

語法

表達式.Find(WhatAfterLookInLookAtSearchOrderSearchDirectionMatchCaseMatchByteSearchFormat)

表達式   一個代表 Range 對象的變量。

參數

名稱 必選/可選 數據類型 描述
What 必選 Variant 要搜索的數據。可為字符串或任意 Microsoft Excel 數據類型。
After 可選 Variant 表示搜索過程將從其之后開始進行的單元格。此單元格對應於從用戶界面搜索時的活動單元格的位置。請注意:After 必須是區域中的單個單元格。要記住搜索是從該單元格之后開始的;直到此方法繞回到此單元格時,才對其進行搜索。如果不指定該參數,搜索將從區域的左上角的單元格之后開始。
LookIn 可選 Variant 信息類型。
LookAt 可選 Variant 可為以下 XlLookAt 常量之一:xlWhole 或 xlPart
SearchOrder 可選 Variant 可為以下 XlSearchOrder 常量之一:xlByRows 或 xlByColumns
SearchDirection 可選 XlSearchDirection 搜索的方向。
MatchCase 可選 Variant 如果為 True,則搜索區分大小寫。默認值為 False
MatchByte 可選 Variant 只在已經選擇或安裝了雙字節語言支持時適用。如果為 True,則雙字節字符只與雙字節字符匹配。如果為 False,則雙字節字符可與其對等的單字節字符匹配。
SearchFormat 可選 Variant 搜索的格式。

返回值
一個 Range 對象,它代表第一個在其中找到該信息的單元格。

說明

如果未發現匹配項,則返回 NothingFind 方法不影響選定區域或當前活動的單元格。

每次使用此方法后,參數 LookInLookAtSearchOrder 和 MatchByte 的設置都將被保存。如果下次調用此方法時不指定這些參數的值,就使用保存的值。設置這些參數將更改“查找”對話框中的設置,如果省略這些參數,更改“查找”對話框中的設置將更改使用的保存值。要避免出現這一問題,每次使用此方法時請明確設置這些參數。

使用 FindNext 和 FindPrevious 方法可重復搜索。

當搜索到指定查找區域的末尾時,此方法將繞回到區域的開始位置繼續搜索。發生繞回后,要停止搜索,可保存第一個找到的單元格地址,然后測試后面找到的每個單元格地址是否與其相同。

若要對單元格進行模式更為復雜的搜索,請結合使用 For Each...Next 語句和 Like 運算符。例如,下列代碼在單元格區域 A1:C5 中搜索字體名稱以“Cour”開始的單元格。當 Microsoft Excel 找到匹配單元格以后,就將其字體改為 Times New Roman。

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。

Visual Basic for Applications
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 And c.Address <> firstAddress
    End If
End With


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM