如果值等於我正在查找的值,或者如果該行等於我正在查找的行,我試圖退出函數。退出函數不工作 - VBA
但每次我使用Exit Function
,它都不起作用。如果我將其替換爲End Function
它告訴我,我沒有End If if If語句。我迷路了。
Function recursion(whereItEnds As Integer, lookingFor As Variant, currentMarker As Range, I As Integer, wsEverything As Worksheet) As Integer
Dim col As Integer
Dim newMarker As String
newMarker = currentMarker.Value
Dim currentMarker1 As Range
recursion = 2
col = 2
If (StrComp(lookingFor, newMarker, vbTextCompare) = 0) Then
Exit Function
End If
While (IsEmpty(wsEverything.Cells(col, "B").Value) = False)
If (StrComp(wsEverything.Cells(col, "B").Value, newMarker, vbTextCompare) = 0) Then
wsEverything.Cells.Range("A" & col, "F" & col).Copy
Worksheets("Review").Cells.Range("A" & I).PasteSpecial
Worksheets("Review").Cells.Range("G" & I).Value = col
I = I + 1
Set currentMarker1 = wsEverything.Cells(col, "E")
If (col = whereItEnds) Then
Exit Function
End If
recursion = recursion(whereItEnds, lookingFor, currentMarker1, I, wsEverything)
End If
col = col + 1
Wend
End Function
我幾乎完全沒有想法,爲什麼都不起作用。
編輯:它擊中的if語句,它進入這些代碼。但是在調試時,它會觸及「退出功能」,但它會繼續。我只是想要它結束聲明。這是將數據從另一張長表中拉出並放在另一張表上。它正在檢查孩子的父母循環錯誤。未來的父母依賴於最初依賴它的孩子。
你能提供的數據中發現的邏輯,你說這是不合作?退出功能應該工作 – Sgdva
https://imgur.com/a/SOP4Q – mysizebarbi
我還是有點迷路,我沒有看到函數應該如何表現以及爲什麼行爲不如預期。你可以嘗試用一行來編輯問題嗎?例如:「這就是我所擁有的...而這正是我所期望的......」這種指導? – Sgdva