VBA Lookup using Tables

Skybluekid

Well-known Member
Joined
Apr 17, 2012
Messages
1,226
Office Version
  1. 365
Platform
  1. Windows
Hi All,

I am using the code below to lookup a value from a Table.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim LU As String
Dim Auth As Variant
Dim LU2 As String
Dim Tbl As ListObject
Dim Rng As Variant
Dim Rng2 As Variant
Dim FT As Variant

Set Tbl = Sheets("Extra").ListObjects("AuthorityTable")
Set Rng = Tbl.ListColumns("Fining Authority")
Set Rng2 = Tbl.ListColumns("Fine Type")

'Insert Authority
If Not Intersect(Target, Range("C:C")) Is Nothing Then
LU = Left(Target.Value, 2)
Auth = Application.VLookup(LU, [AuthorityTable], 2, 0)
If IsError(Auth) Then Auth = "Choose from List"
Target.Offset(, 4).Value = Auth
End If




'Insert Fine Type
If Not Intersect(Target, Range("C:C")) Is Nothing Then
LU2 = Target.Offset(, 4).Value
FT = Application.WorksheetFunction.Index(Sheets("Extra").Range("Rng"), Application.WorksheetFunction.Match(LU2, Sheets("Extra").Range("Rng2"), 0))
If IsError(FT) Then FT = "Choose From List"
Target.Offset(, 8) = FT
End If


End Sub

The code crashes on this line

FT = Application.WorksheetFunction.Index(Sheets("Extra").Range("Rng"), Application.WorksheetFunction.Match(LU2, Sheets("Extra").Range("Rng2"), 0))


saying its an Application or Object defined error.


What the code does is to Look at the first to characters of the Target, then look up the Authority, then it will use that Authority to return a Fine Type, from the same table. The 1st Lookup uses Columns 1 and 2 of the table, where as the send lookup uses columns 2 and 3, hence using Index & Match rather than Vlookup.

I am little stumped.

Thanks in Advance.
 

Excel Facts

How to calculate loan payments in Excel?
Use the PMT function: =PMT(5%/12,60,-25000) is for a $25,000 loan, 5% annual interest, 60 month loan.
Try
Code:
FT = Application.Index(Rng, Application.match(LU2, Rng2, 0))
 
Upvote 0

Forum statistics

Threads
1,214,791
Messages
6,121,611
Members
449,038
Latest member
apwr

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top