我知道這個函數可以正常工作,但是當我試圖在我的電子表格中填充時,它幾乎立即導致Excel崩潰。當我進入調試模式時,它告訴我End If有一個問題。我相信這是正確的,因爲End If結束了前面的If語句。VBA:Excel結束時崩潰如果
Function MYVLOOKUP(pValue As String, pWorkRng As Range, pIndex As Long)
'Update 20150310
Dim rng As Range
Dim xResult As String
xResult = ""
For Each rng In pWorkRng
If rng = pValue Then
xResult = xResult & " " & rng.Offset(0, pIndex - 1)
End If '<-- crashes here
Next
MYVLOOKUP = xResult
End Function
)只是一個供參考,這可以在辦公室完成365 Excel中與新TEXTJOIN(公式作爲數組'= TEXTJOIN(「」,TRUE,IF(LookupRange = pValue,ResultRange,「」))'用Ctrl-Shift-Enter確認。 –
'結束如果'沒問題,確切的錯誤是什麼?通過崩潰你的意思是崩潰到桌面或運行時錯誤,如果是這樣的話是什麼? –
內存不足? –