UDF that returns a Hyperlink

V

Vlad

Is it possible in Excel 2007 using VBA to create a UDF that returns a
hyperlink?

Ideally I want a hyperlink where the display name is different to the
linked URL.

Any ideas?

TIA
 
D

Dave Peterson

First, if you mean you want the tooltip to show a different address, then I
don't think that it's possible.

Second, if you meant you want to see something in the cell that isn't the
address of the link, then...

There's an =hyperlink() worksheet function that may do exactly what you want:

=hyperlink("http://www.microsoft.com","Click me!")

Third, If you want to use the Insert|Hyperlink style of hyperlink:

I didn't test this in xl2007, but it seemed to work fine in xl2003:

Option Explicit
Function myHyperLink()

With Application.Caller
.Parent.Hyperlinks.Add Anchor:=.Cells, _
Address:="http://www.microsoft.com"
End With

myHyperLink = "Click me!"
End Function


If you're new to macros:

Debra Dalgleish has some notes how to implement macros here:
http://www.contextures.com/xlvba01.html

David McRitchie has an intro to macros:
http://www.mvps.org/dmcritchie/excel/getstarted.htm

Ron de Bruin's intro to macros:
http://www.rondebruin.nl/code.htm

(General, Regular and Standard modules all describe the same thing.)

Short course:

Open your workbook.
Hit alt-f11 to get to the VBE (where macros/UDF's live)
hit ctrl-R to view the project explorer
Find your workbook.
should look like: VBAProject (yourfilename.xls)

right click on the project name
Insert, then Module
You should see the code window pop up on the right hand side

Paste the code in there.

Now go back to excel.
Into a test cell and type:
=myHyperLink()
 
G

Gary''s Student

What capability do you need that the existing worksheet function:
=HYPERLINK()
does not give you?
 
V

Vlad

Thanks Dave for your suggestions

Gary - I want to use VBA to calculate a URL based on some conditions.
Is it possible to use the hyperlink function in VBA?

Thanks
 
D

Dave Peterson

You can create a formula using =hyperlink() using VBA.

You can insert a hyperlink (insert|hyperlink) using VBA.

You can use a macro that uses:
Thisworkbook.followhyperlink
and run that macro when you want to.
 
V

Vlad

I want to create a formula using =hyperlink() using VBA - have you any
pointers on that?
 
D

Dave Peterson

activecell.formula = "=hyperlink(""http://www.microsoft.com"",""Click me"")"

But your question is kind of vague. You can pick up those strings (or even
pieces of those strings) from anything that you can get to using VBA.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top