簡體   English   中英

Excel VBA Find函數未返回整數值,看不到我在做什么

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM