Excel VBA查找函数不返回一个整数值,看不到我做错了什么
所以我正在写一个excel marco来自动执行一些手动任务。 我打了一个函数,我写了一个墙,它无法返回一个整数值给我使用的子我打电话给它。 我觉得这很简单,但我不能为我的生活看到我在做什么错误。
Function Find_Header(SearchTerm As String) As Integer Dim Rng As Range With Sheets("DATA").Range("A:CZ") Set Rng = .Find(What:=SearchTerm, _ After:=.Cells(.Cells.Count), _ LookIn:=xlValues, _ lookat:=xlWhole, _ SearchOrder:=xlByRows, _ SearchDirection:=xlNext, _ MatchCase:=False) If Not Rng Is Nothing Then Application.Goto Rng, True Find_Header = Rng.Column Else MsgBox "Nothing found" End If End With End Function
从一个子我可以这样称呼它:
Find_Header SearchTerm:="Status"
而且由于“状态”这个术语在特定的范围内,并且是列号5我希望在我的子集中看到“Find_Header”等于5,但是一旦函数结束,variables就会丢失,我没有做的在子程序中保留这个值?
谢谢,克里斯
您需要将结果存储在一个variables中 – 例如:
Dim iFoundCol as Integer iFoundCol = Find_Header(SearchTerm:="Status")
函数返回一个需要存储在variables中的值,不能简单地调用该函数