【发布时间】:2015-08-27 16:46:17
【问题描述】:
我编写了一个函数,该函数在 A:A 列中搜索字符串(作为输入传递)并返回 A:A 范围内包含该字符串的第一个单元格的完整内容...
当我从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
【问题讨论】:
-
您的代码被称为工作表函数对我来说很好。
-
你好,这很奇怪......这可能与我使用excel for mac 2014 version 14的事实有关吗?
-
是否有任何可能出错的设置?我应该看什么方向?我在网上找不到任何有用的东西...谢谢!
-
由于您使用的是 mac,我认为您可以编辑您的问题并添加“osx”标签或其他适合吸引专家的标签。