Excel/Excel help


I have a list of part numbers in Column A and I have hyper linked attached to those numbers in Column B which is a PDF specific to each part  number.
Now I am taking input in Cell C1 from a scanner which is giving me item number. Now as soon as input is received in the cell C1 macro gets triggered and displays a particular pdf. Everything is working great up til now.I have pasted the full code below.

But some parts we are procuring from different suppliers. In that case part number is same but what I want to display is different. Now I want to add in this code only a command that will look for part numbers as it is looking now. In case of single part number it goes as it is going now but in case of multiple part numbers it looks for Vendor code which will be written in column D for only those part numbers and asks for vendor code and then displays the relevant document. I hope I made myself clear.Please tell me if something is not clear
Please help. Thanks in advance.

Yours Sincerely
Saurabh Mundeja

Private Sub Worksheet_Change(ByVal Target As Range)
   If Not Intersect(Target, Range("C1")) Is Nothing Then macro
End Sub
Sub macro()
     Dim myR As Range
     Set myR = Worksheets("Sheet1").Range("A:A").Find( _
         What:=Worksheets("Sheet1").Range("C1").Value, LookIn:=xlFormulas)
       If Not myR Is Nothing Then
         ThisWorkbook.FollowHyperlink myR.Offset(, 1).Value
         MsgBox "Item Number Not Found. Please check The Number You have Entered"
         End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
   If target.Address = "$C$1" Then macro  '<=============easier
End Sub

Sub macro()
   Dim myR As Range, Vendor As String
   With Worksheets("Sheet1")
       Set myR = .Range("A:A").Find( _
         What:=.Range("C1").Value, LookIn:=xlFormulas)
       If Application.CountIf(.Range("A:A"), myR.Value) > 1 Then
         Vendor = InputBox("There is more than one - please enter the Vendor Code")
         If Vendor = "" Then Exit Sub
         On Error Resume Next
         n = 0
         n = Application.Match(Vendor, .Range("D:D"), 0)
         If n = 0 Then
         MsgBox "Vendor Not Found"
         Exit Sub
         End If
         Set myR = .Cells(n, 1)
       End If
   End With
   If Not myR Is Nothing Then
       ThisWorkbook.FollowHyperlink myR.Offset(, 1).Value
       MsgBox "Item Number Not Found. Please check The Number You have Entered"
   End If
End Sub
About Excel
This topic answers questions related to Microsoft Excel spreadsheet (or workbook) stand-alone or Mircrosoft Office Excel including Excel 2003, Excel 2007, Office 2000, and Office XP. You can get Excel help on Excel formulas(or functions), Excell macros, charting in Excel, advanced features, and the general use of Excel. This does not provide a general Excel tutorial nor the basics of using a spreadsheet. It provides specific answers to using Microsoft Excel only. If you do not see your Excel question answered in this area then please ask an Excel question here


All Answers

Answers by Expert:

Ask Experts


Bob Umlas


I`m a Microsoft Excel MVP (Most Valuable Professional) and have been since the inception of the program in 1995. I can answer every kind of Excel question except: API, Importing/exporting to other programs (powerpoint, word,...) Also check out my in-person training link at http://www.thumbtack.com/ny/new-york/excel-training/


Worked with MS Excel since version 0.99 (on the Mac!). Was contributing editor to Excellence Magazine, having written >300 articles. John Walkenbach said of me "I finally met someone who knows as much about Excel as I do."

Excellence, The Expert, Microsoft

BA in math, Hofstra University, 1965

Awards and Honors
Led sessions for the Convergence 2004-2006 seminar on Excel tips & tricks

©2017 About.com. All rights reserved.