NamedRange.Find 方法
在 NamedRange 控制項中尋找特定的資訊,並且傳回 Microsoft.Office.Interop.Excel.Range 物件,表示第一個含有此資訊的儲存格。
命名空間: Microsoft.Office.Tools.Excel
組件: Microsoft.Office.Tools.Excel (在 Microsoft.Office.Tools.Excel.dll 中)
語法
'宣告
Function Find ( _
What As Object, _
After As Object, _
LookIn As Object, _
LookAt As Object, _
SearchOrder As Object, _
SearchDirection As XlSearchDirection, _
MatchCase As Object, _
MatchByte As Object, _
SearchFormat As Object _
) As Range
Range Find(
Object What,
Object After,
Object LookIn,
Object LookAt,
Object SearchOrder,
XlSearchDirection SearchDirection,
Object MatchCase,
Object MatchByte,
Object SearchFormat
)
參數
- What
型別:System.Object
要搜尋的資料。可以是字串或任何 Microsoft Office Excel 資料型別。
- After
型別:System.Object
搜尋起點後的儲存格。這個儲存格就是從使用者介面進行搜尋時的現用儲存格位置。請注意,After 必須是範圍內的單一儲存格。請記住,搜尋會在這個儲存格後開始,而直到此方法繞回指定儲存格後,才會搜尋這個儲存格。如果您未指定這個引數,則會從範圍左上角的儲存格後開始搜尋。
- LookIn
型別:System.Object
資訊型別。
- LookAt
型別:System.Object
可以是下列其中一個 XlLookAt 值:xlWhole 或 xlPart。
- SearchOrder
型別:System.Object
可以是下列其中一個 XlSearchOrder 值:xlByRows 或 xlByColumns。
- SearchDirection
型別:Microsoft.Office.Interop.Excel.XlSearchDirection
搜尋方向。
可以是下列其中一個 XlSearchDirection 值:
xlNext 或 xlPrevious。
- MatchCase
型別:System.Object
true 表示搜尋時區分大小寫。預設值是 false。
- MatchByte
型別:System.Object
只有在您選取或安裝雙位元語言支援時才能使用。 true 表示只會將雙位元組字元與雙位元組字元比對,否則為 false,表示將雙位元組字元與其對等的單位元組字元比對。
- SearchFormat
型別:System.Object
搜尋格式。
傳回值
型別:Microsoft.Office.Interop.Excel.Range
Microsoft.Office.Interop.Excel.Range 物件,表示第一個含有此資訊的儲存格。
備註
如果找不到符合項目,這個方法會傳回 nullnull 參考 (即 Visual Basic 中的 Nothing)。
這個方法不會影響選取範圍或現用儲存格。
每次使用這個方法時,會儲存 LookIn、LookAt、SearchOrder 和 MatchByte 的設定。如果沒有為這些引數指定值,下次您呼叫這個方法時便會使用已儲存的值。設定這些引數會變更 [尋找] 對話方塊中的設定,而變更 [尋找] 對話方塊中的設定會變更您省略引數時使用的儲存值。若要避免發生問題,每次使用這個方法時應明確設定這些引數。
您可以使用 FindNext 和 FindPrevious 方法重複搜尋。
當搜尋到達指定範圍的結尾時,它會繞回範圍的起始。若要在繞回期間停止搜尋,請儲存找到的第一個儲存格位址,再以這個儲存格位址測試每個後續找到的儲存格位址。
選擇性參數
如需選擇性參數的詳細資訊,請參閱Office 方案中的選擇性參數。
範例
下列程式碼範例會使用 Find 方法,在 NamedRange 控制項中尋找第一個值為 Seashell 的儲存格。範例接著使用 FindNext 和 FindPrevious 方法,尋找下一個值為 Seashell 的儲存格,然後回到原來的儲存格。最後,這個範例會使用 Cut 方法,剪下具有 Seashell 值之第一個儲存格的內容,並將它貼入儲存格 B1。
這是示範文件層級自訂的範例。
Private Sub FindValue()
Me.Range("A1").Value2 = "Barnacle"
Me.Range("A2").Value2 = "Seashell"
Me.Range("A3").Value2 = "Star Fish"
Me.Range("A4").Value2 = "Seashell"
Me.Range("A5").Value2 = "Clam Shell"
Dim namedRange1 As Microsoft.Office.Tools.Excel.NamedRange _
= Me.Controls.AddNamedRange(Me.Range("A1", "A5"), _
"namedRange1")
' Find the first occurrence of "Seashell".
Dim Range1 As Excel.Range = namedRange1.Find("Seashell", , , _
Excel.XlLookAt.xlWhole, Excel.XlSearchOrder.xlByColumns, _
Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext, _
False, False, )
' Find the next occurrence of "Seashell".
Range1 = namedRange1.FindNext(Range1)
' Return to the first occurrence of "Seashell".
Range1 = namedRange1.FindPrevious(Range1)
' Cut the range with the first "Seashell" and copy it to cell B1.
Dim namedRange2 As Microsoft.Office.Tools.Excel.NamedRange _
= Me.Controls.AddNamedRange(Range1, "namedRange2")
namedRange2.Cut(Me.Range("B1"))
End Sub
private void FindValue()
{
this.Range["A1"].Value2 = "Barnacle";
this.Range["A2"].Value2 = "Seashell";
this.Range["A3"].Value2 = "Star Fish";
this.Range["A4"].Value2 = "Seashell";
this.Range["A5"].Value2 = "Clam Shell";
Microsoft.Office.Tools.Excel.NamedRange namedRange1 =
this.Controls.AddNamedRange(this.Range["A1", "A5"],
"namedRange1");
// Find the first occurrence of "Seashell".
Excel.Range Range1 = namedRange1.Find("Seashell",
Excel.XlLookAt.xlWhole, Excel.XlSearchOrder.xlByColumns,
Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext,
false);
// Find the next occurrence of "Seashell".
Range1 = namedRange1.FindNext(Range1);
// Return to the first occurrence of "Seashell".
Range1 = namedRange1.FindPrevious(Range1);
// Cut the range with the first "Seashell" and copy it to cell B1.
Microsoft.Office.Tools.Excel.NamedRange namedRange2 =
this.Controls.AddNamedRange(Range1, "namedRange2");
namedRange2.Cut(this.Range["B1"]);
}
.NET Framework 安全性
- 完全信任立即呼叫者。這個成員無法供部分信任的程式碼使用。如需詳細資訊,請參閱從部分受信任程式碼使用程式庫。