View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
joel joel is offline
external usenet poster
 
Posts: 9,101
Default using cell value to open file

Not sure if this is the best method, but it works. Use intersect to
determine if cell is in the range of each name in the workbook.

RangeName = ""
For Each nm In ActiveWorkbook.Names
NameAddr = nm.RefersToRange.Address
If Not Intersect(Range(NameAddr), ActiveCell) Is Nothing Then
RangeName = nm.Name
Exit For
End If
Next nm
If RangeName < "" Then
'enter your code here
End If

"Doug" wrote:

That looks great, I'll try it. Here's another issue.

The job numbers are grouped by subdivsion, so if I have job numbers in
SubDivRange1 or SubDivRange2, etc., how do I find the range name so I can
include that name in the file path with the job number?

"Joel" wrote:

Try this code. Change folder as required

Sub OpenJobFile()

Folder = "C:\temp"

JobNumber = ActiveCell.Value

FName = Dir(Folder & "\*" & JobNumber & "*.xls")

If FName = "" Then
MsgBox ("Cannot find file : " & Folder & "\*" & JobNumber & "*.xls")
Else
Workbooks.Open Filename:=Folder & "\" & FName
End If

End Sub


"ward376" wrote:

You could make them hyperlinks...

Cliff Edwards