2015-08-27 41 views
1

我編寫了一個函數,用於搜索A列:A作爲字符串(作爲輸入傳遞)並返回範圍A中第一個單元格的完整內容:A一塊字符串...函數在代碼中起作用,但不作爲工作表中的UDF工作

該功能工作正常,當我從Sub test()調用它時,但我不能使它在工作表中直接工作...即通過編寫=Find_First("lala")。它只是返回「找不到」,雖然這段文字確實在A:A

這是我的代碼..感謝您的幫助!

Public Function Find_First(FindString As String) As String 

    Dim Rng As Range 
    Dim TrimString As String 

    Application.Volatile True 

    TrimString = Trim(FindString) 

    If TrimString <> "" Then 
     With Sheets("Sheet1").Range("A:A") 
      Set Rng = .Find(What:=TrimString, _ 
          After:=.Cells(.Cells.Count), _ 
          LookIn:=xlValues, _ 
          LookAt:=xlPart, _ 
          SearchOrder:=xlByRows, _ 
          SearchDirection:=xlNext, _ 
          MatchCase:=False) 

      If Not Rng Is Nothing Then 
       Find_First = Rng.Value 
       MsgBox ("Found at: " & Rng.Address) 
      Else 
       Find_First = "not found" 
       MsgBox ("Not found ") 
      End If 
     End With 
    End If 

End Function 

Sub test() 
    MsgBox Find_First(" lala ") 
End Sub 
+0

您的代碼被稱爲工作表函數適用於我。 – omegastripes

+0

你好,這很奇怪......這可能與我使用Excel for Mac 2014版本14的事實有關嗎? – wwhoami

+0

是否有任何一種設置可能是錯誤的?我應該看什麼方向?我無法找到任何有用的網上...謝謝! – wwhoami

回答

相關問題