[英]Excel VBA Find function not returning an integer value, can't see what I am doing wrong
所以我正在寫一個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,但是一旦函數結束,變量就丟失了,我在做什么在子例程中保留此值?
謝謝克里斯
您需要將結果存儲在變量中-例如:
Dim iFoundCol as Integer
iFoundCol = Find_Header(SearchTerm:="Status")
函數返回一個需要存儲在變量中的值,您不能只是簡單地調用該函數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.