2017-04-27 74 views
0

我想在包含特定字符串的工作表中找到單元格。如何在整個工作表中找到包含字符串的單元格

我不知道電子表格中會有多少列或行,因此我想用CurrentRegion來做。

這就是我努力:

=FIND("Data String", Range("A1").CurrentRegion) 
+0

。地址會顯示該單元格,按F1 FIND,它會告訴你,然後幫助和它返回什麼,小心的'nothing'返回,而不是'range' –

+1

你是將Excel函數'FIND'和VBA'Range'方法'Find'混合起來。你想使用哪一個? (希望'Range.Find'方法.Excel函數不會幫助你。) – YowE3K

回答

3

你應該看看到Microsoft參考文獻:Range.Find Method (Excel)

.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat) 

實施例:

Dim rngFound as Range 
With Worksheets("MySheetName").Cells 
    Set rngFound = .Find("MySearchString", LookIn:=xlValues) 
    If Not rngFound Is Nothing Then 
     'something is found 
    else 
     'nothing found 
    End If 
End With 

搜索整個片

+0

非常好!非常感謝 – Porkball21

1

嘗試這個

FindString = Sheets("Sheet1").Range("D1").Value 

----------這將選擇下一個Cell範圍內的inputbox

Sub Find_First() 
Dim FindString As String 
Dim Rng As Range 
FindString = InputBox("Enter a Search value") 
If Trim(FindString) <> "" Then 
    With Sheets("Sheet1").Range("A:A") 
     Set Rng = .Find(What:=FindString, _ 
         After:=.Cells(.Cells.Count), _ 
         LookIn:=xlValues, _ 
         LookAt:=xlWhole, _ 
         SearchOrder:=xlByRows, _ 
         SearchDirection:=xlNext, _ 
         MatchCase:=False) 
     If Not Rng Is Nothing Then 
      Application.Goto Rng, True 
     Else 
      MsgBox "Nothing found" 
     End If 
    End With 
    End If 
End Sub 

Find Value

+0

告訴我它是否幫助你 – shakespeare

+0

謝謝,是的,它肯定有,我會在一些子例程中使用Set Rng。非常感謝! – Porkball21

相關問題