Advertisement
Guest User

Untitled

a guest
Jun 25th, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. Option Explicit
  2.  
  3. Public Function DPPR_Vlookup(Lookup_Value As String, Lookup_Range As Range, Coloumn_Index As Long, Optional Match_Case As Integer) As Variant
  4.  
  5. Dim D_Code() As String
  6.  
  7. Dim Pos_1 As Long
  8.  
  9. Dim i As Integer
  10.  
  11. Dim Sum_Value As Long
  12.  
  13. Dim x1 As Long
  14. Dim x2 As Long
  15. Dim x3 As Long
  16.  
  17.  
  18. Pos_1 = InStr(1, Lookup_Value, "&", vbTextCompare)
  19.  
  20. With Application.WorksheetFunction
  21.  
  22. If Pos_1 = 0 Then
  23.  
  24. DPPR_Vlookup = .VLookup(Lookup_Value, Lookup_Range, Coloumn_Index, Match_Case)
  25.  
  26. Else
  27.  
  28. D_Code() = Split(Lookup_Value, "&")
  29.  
  30. Sum_Value = 0
  31.  
  32. For i = 1 To UBound(D_Code())
  33.  
  34. If IsError(.VLookup("DD" & D_Code(i), Lookup_Range, Coloumn_Index, Match_Case)) = True Then
  35.  
  36. x1 = 0
  37.  
  38. Else
  39.  
  40. x1 = .VLookup("DD" & D_Code(i), Lookup_Range, Coloumn_Index, Match_Case)
  41.  
  42. End If
  43.  
  44.  
  45. If IsError(.VLookup("DD0" & D_Code(i), Lookup_Range, Coloumn_Index, Match_Case)) = True Then
  46.  
  47. x2 = 0
  48.  
  49. Else
  50.  
  51. x2 = .VLookup("DD0" & D_Code(i), Lookup_Range, Coloumn_Index, Match_Case)
  52.  
  53. End If
  54.  
  55.  
  56. If IsError(.VLookup("DD00" & D_Code(i), Lookup_Range, Coloumn_Index, Match_Case)) = True Then
  57.  
  58. x3 = 0
  59.  
  60. Else
  61.  
  62. x3 = .VLookup("DD00" & D_Code(i), Lookup_Range, Coloumn_Index, Match_Case)
  63.  
  64. End If
  65.  
  66.  
  67. Sum_Value = Sum_Value + x1 + x2 + x3
  68.  
  69. x1 = 0
  70. x2 = 0
  71. x3 = 0
  72.  
  73. Next i
  74.  
  75.  
  76. DPPR_Vlookup = Sum_Value
  77.  
  78.  
  79. End If
  80.  
  81. End With
  82.  
  83. End Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement