You are looking for a Lookup with multiple criteria. A quick search gives several useful links, listed below. I have marked with * those that I have answered.
I have filtered out some of the links that actually deal with other issues.
As seen in the links, there are several options to achieve your goal. I personally prefer those that do not need array formulas, using an answer to question 1 with LOOKUP or an answer to question 2 with SUMPRODUCT.
Since you mentioned that you need a VBA solution, you can use WorksheetFunction
to use an Excel formula in VBA code, or check answers to question 7.
Multiple Column vs Multiple Column Lookup *
Multiple-column based lookups in Excel *
Lookup Database (Multiple criteria)
Excel Lookup with multiple queries
Multiple VLOOKUP LOOKUP IF Statement?
Returning a value if three columns match in excel *
VLookup multiple columns
Comparing two columns in one Excel sheet, to two columns in another sheet, and if they match, copy data from another column *
Macro for vlookup with 2 vertical criteria *
http://spreadsheets.about.com/b/2014/01/08/excel-lookup-formula-using-multiple-criteria.htm
http://fiveminutelessons.com/learn-microsoft-excel/use-index-lookup-multiple-values-list
http://blogs.office.com/2012/04/26/using-multiple-criteria-in-excel-lookup-formulas/
http://www.xl-central.com/lookup-multiple-criteria.html
http://www.get-digital-help.com/2012/05/22/lookup-multiple-values-in-different-columns-and-return-a-single-value/
PS: The (probably partial) list of (probably) duplicated questions provided above shows the usefulness of what was proposed in https://meta.stackexchange.com/questions/211366/group-duplicate-questions-for-convenience