0
我有以下2個表格(賠率&投注)。vlookup在第二列中查找值
表1
表2:
我想從表2 TRANSID從表1比較TRANSID和檢索一些值,並粘貼在價格列相同在表2中。 我在我的VBA代碼中有一個VLOOKUP函數來完成這項工作。然而,它迭代通過第一列(oddsId),因此提取錯誤的價格(希望這是預期的,因爲Vlookup總是尋找最左邊的列,如果我沒有錯的話)。
但我想比較兩個TransId來獲取價格信息。
價格列使用公式:
=getprice(BetsTable[[#This Row],[TransId]],BetsTable[[#This Row],[Option]])
下面是用getPrice代碼示例:
Function GetPrice(transId, opt)
Dim bettype As String
opt = UCase(opt)
bettype = Application.WorksheetFunction.VLookup(transId, Range("OddsTable5"), 3, False)
If (bettype = "FT.HDP" Or bettype = "HT.HDP") Then
If (opt = "H") Then
GetPrice = Application.WorksheetFunction.VLookup(transId, Range("OddsTable5"), 14, False)
ElseIf (opt = "A") Then
GetPrice = Application.WorksheetFunction.VLookup(transId, Range("OddsTable5"), 15, False)
Else
GetPrice = "Error"
End If
我要處理我的VBA代碼此情況下(用getPrice函數)。有什麼辦法可以解決這個問題嗎?
我試過這段代碼,但是結果是一樣的錯誤。我編輯了我的帖子以包含圖片以供參考。 .Cell(1,2)是否指向第2列? – Shan
是的。如果頂部的黃色條是包含在該範圍內的合併單元格,則不起作用。 「OddsTable5」只能包含表格,有或沒有標題。 – GSerg