我目前使用查找函數返回多個值。我從Extend Office獲得了這個功能。 https://www.extendoffice.com/documents/excel/2706-excel-vlookup-return-multiple-values-in-one-cell.html使用查找函數返回過濾值列表
我想編輯代碼以迎合我的需求它可以進一步將多個值過濾爲我所需要的值。我目前正在使用Instr函數返回僅以用戶鍵入的字母開始的值。但是,該函數無法正常工作,因爲結果會顯示「#VALUE!」。我不知道我出錯的地方。例如,我在工作表本身的函數中使用了'MYVLOOKUP(C2,Table!A:B,2,「J」)''鍵。這意味着我只想返回以'J'開頭的值,但它返回#VALUE !.
Function MYVLOOKUP(pValue As String, pWorkRng As Range, pIndex As Long,
filter As String)
Dim rng As Range
Dim xResult As String
Dim result As Integer
xResult = vbNullString
'the next line trims pWorkRng down to the .UsedRange
Set pWorkRng = Intersect(pWorkRng, pWorkRng.Parent.UsedRange)
For Each rng In pWorkRng
If rng = pValue Then
result = InStr(rng.Value, filter, vbTextCompare)
If result = 1 Then
xResult = xResult & rng.Offset(0, pIndex - 1) & ","
Else
End If
End If
Next
MYVLOOKUP = Trim(xResult)
End Function
請詳細說明* 「無法工作」 *,並顯示一個例子用例。 –
你首先檢查'If rng = pValue',然後如果它以'filter'開頭,這個雙重檢查就沒有意義。要麼搜索完全匹配,要麼搜索以某物開頭的內容。 –
我不能返回多個值,它將值的範圍縮小到只讓'J'開始? –