我想修改我找到的代碼。它是一個VBA函數,用於搜索單元格值的所有實例,然後將每個實例的單元格值返回到一個單元格中。我試圖只返回尚未找到的值,因此最終得到一個不包含重複項的單元格。Excel宏VBA不Instr
原始代碼:
Function Lookup_concat(Search_string As String, _
Search_in_col As Range, Return_val_col As Range)
Dim i As Long
Dim result As String
For i = 1 To Search_in_col.Count
If Search_in_col.Cells(i, 1) = Search_string Then
result = result & " " & Return_val_col.Cells(i, 1).Value
End If
Next
Lookup_concat = Trim(result)
End Function
我已經修改了代碼,這一點,我已經縮進的編輯,而不是將其保持在同一直線上,使其更易於閱讀
Function Lookup_concat(Search_string As String, _
Search_in_col As Range, Return_val_col As Range)
Dim i As Long
Dim result As String
For i = 1 To Search_in_col.Count
If Search_in_col.Cells(i, 1) = Search_string
And Not (InStr(1, result, Return_val_col.Cells(i, 1).Value)) Then
result = result & " " & Return_val_col.Cells(i, 1).Value
End If
Next
Lookup_concat = Trim(result)
End Function
這版本是最接近PHP !strstr
函數(我明白),也許嘗試將PHP技術應用於VBA是我出錯的地方。我的想法是,結果字符串實際上填充後我的Instr
命令,這就是爲什麼它不起作用。
完美,謝謝!對不起,由於反應遲緩,自上週以來我一直沒有上班 – JoeP