NamedRange.Find 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在 NamedRange 控制項中尋找特定的資訊,並且傳回 Range 物件,表示第一個含有此資訊的儲存格。
public Microsoft.Office.Interop.Excel.Range Find (object What, object After, object LookIn, object LookAt, object SearchOrder, Microsoft.Office.Interop.Excel.XlSearchDirection SearchDirection = Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext, object MatchCase, object MatchByte, object SearchFormat);
abstract member Find : obj * obj * obj * obj * obj * Microsoft.Office.Interop.Excel.XlSearchDirection * obj * obj * obj -> Microsoft.Office.Interop.Excel.Range
Public Function Find (What As Object, Optional After As Object, Optional LookIn As Object, Optional LookAt As Object, Optional SearchOrder As Object, Optional SearchDirection As XlSearchDirection = Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext, Optional MatchCase As Object, Optional MatchByte As Object, Optional SearchFormat As Object) As Range
參數
- What
- Object
要搜尋的資料。 可以是字串或任何 Microsoft Office Excel 資料類型。
- After
- Object
搜尋起點後的儲存格。 這個儲存格就是從使用者介面進行搜尋時的現用儲存格位置。 請注意, After
必須是範圍中的單一單元格。 請記住,搜尋會在這個儲存格後開始,而直到此方法繞回指定儲存格後,才會搜尋這個儲存格。 如果您未指定這個引數,則會從範圍左上角的儲存格後開始搜尋。
- LookIn
- Object
資訊類型。
- SearchOrder
- Object
可以是下列其中一個 XlSearchOrder 值:xlByRows 或 xlByColumns。
- SearchDirection
- XlSearchDirection
搜尋方向。可以是下列 XlSearchDirection 其中一個值: xlNext 或 xlPrevious。
- MatchCase
- Object
true
表示搜尋時區分大小寫。 預設值是 false
。
- MatchByte
- Object
只有在您選取或安裝雙位元語言支援時才能使用。 true
表示只會將雙位元組字元與雙位元組字元比對,否則為 false
,表示將雙位元組字元與其對等的單位元組字元比對。
- SearchFormat
- Object
搜尋格式。
傳回
Range 物件,表示第一個含有此資訊的儲存格。
範例
下列程式代碼範例會 Find 使用 方法來尋找控制項中具有 值 Seashell
的第一個 NamedRange 儲存格。 然後,此範例會使用 FindNext 和 FindPrevious 方法來尋找具有 值的 Seashell
下一個單元格,然後返回原始單元格。 最後,此範例會使用 Cut 方法來剪下具有 值 Seashell
的第一個單元格內容,並將它貼到單元格 B1 中。
此範例適用於檔層級自定義。
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"]);
}
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
備註
如果找不到相符項目,這個方法會 null
傳回 。
這個方法不會影響選取範圍或作用中單元格。
每次使用此方法時,都會儲存 、LookAt
、 SearchOrder
和 MatchByte
的設定LookIn
。 如果您下次呼叫 方法時未指定這些自變數的值,則會使用儲存的值。 設定這些自變數會變更 [尋找] 對話框中的設定,變更 [尋找] 對話框中的設定會變更如果您省略自變數時所使用的已儲存值。 若要避免問題,請在每次使用此方法時明確設定這些自變數。
您可以使用 FindNext 和 FindPrevious 方法來重複搜尋。
當搜尋到達指定搜尋範圍的結尾時,它會包裝到範圍的開頭。 若要在發生此換行時停止搜尋,請儲存第一個找到單元格的位址,然後針對這個儲存的地址測試每個後續找到的單元格位址。
選擇性參數
如需選擇性參數的資訊,請參閱 Office 方案中的選擇性參數。