1
我想要做的是使用VBA來解決Vlookup的限制,並創建一個用戶窗體來顯示客戶編號的相關項目。我有一列填充重複值(客戶編號)的列,則其旁邊的列具有唯一值(客戶事件)。這裏是我的表的短塊:VBA查找值,返回與查找值關聯的所有唯一值(在用戶表單文本框中)
CustNum CustEvent
123 Called In
123 Placed Order
345 Filed Complaint
345 Called In
345 Refund Approved
我創建一個窗體,讓我們的員工通過柱搜索,它返回的是在B列。我用VLOOKUP這樣做,但每個人都知道VLOOKUP的侷限性因爲它只會返回它運行到的B中的第一個值。
我需要的是我的用戶窗體的文本框來顯示前五名客戶的事件匹配:
Search: 123
Called In, Placed Order
最後將通過我沒有寫訪問SQL表運行,所以改變數據不是一種選擇。
我的代碼:
Dim x As Long
x = cnum.Value
textbox1.Value = Application.WorksheetFunction.VLookup(x, Range("A2:B5"), 2, False)
爲什麼不直接針對表運行一個單獨的「select distinct」查詢? – Chel 2014-10-08 16:17:05
您可以使用高級過濾器來執行此操作。 – 2014-10-08 16:20:04
我對於事物的SQL方面仍然很陌生。你有鏈接或例子嗎? – Jamison 2014-10-08 16:41:02