PC Review


Reply
Thread Tools Rate Thread

Copy Hyperlinks to other cells

 
 
DaveM
Guest
Posts: n/a
 
      3rd Aug 2007
Hi all

Been trying to do this for over an hour now, with no joy.

sheet1 A1 to A36, The text values that have hyperlinks to files on harddrive

sheet2 Column A has lots of the same text values as sheet1, some cells have
a little extra text at the end.

how can I get the hyperlinks from sheet1 to all cells that contain the same
text, to sheet2

Thanks in advance

Dave




 
Reply With Quote
 
 
 
 
Joe HM
Guest
Posts: n/a
 
      3rd Aug 2007
Set lHyperLinkList = CreateObject("Scripting.Dictionary")

Hello -

You can use the following to do that. Please note that I store the
hyperlinks in a Scripting.Dictionary for some other reasons. You
might not have to do that. lSheetORG is the original Worksheet and
lSheetOUT is the target Worksheet.

Set lHyperLinkList = CreateObject("Scripting.Dictionary")

For Each lHyperlink In lSheetORG.Hyperlinks
Call lHyperLinkList.Add("C" & lHyperlink.Range.Row,
lHyperlink.Address)
Next lHyperlink

lSheetOUT.Hyperlinks.Delete

lKeys = lHyperLinkList.keys
lItems = lHyperLinkList.items

For i = 0 To lHyperLinkList.Count - 1
Set lRange = lSheetOUT.Range(lKeys(i))

lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
TextToDisplay:=lRange.Value
Next i

Hope this works for you ...
Joe



On Aug 3, 8:28 am, "DaveM" <davem...@hotmail.co.uk> wrote:
> Hi all
>
> Been trying to do this for over an hour now, with no joy.
>
> sheet1 A1 to A36, The text values that have hyperlinks to files on harddrive
>
> sheet2 Column A has lots of the same text values as sheet1, some cells have
> a little extra text at the end.
>
> how can I get the hyperlinks from sheet1 to all cells that contain the same
> text, to sheet2
>
> Thanks in advance
>
> Dave



 
Reply With Quote
 
DaveM
Guest
Posts: n/a
 
      3rd Aug 2007
Hi Joe

Error Object required

For Each lHyperlink In Sheet1.Hyperlinks

VBE shows yellow debug on line above.

Thanks for your help

Dave


"Joe HM" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Set lHyperLinkList = CreateObject("Scripting.Dictionary")
>
> Hello -
>
> You can use the following to do that. Please note that I store the
> hyperlinks in a Scripting.Dictionary for some other reasons. You
> might not have to do that. lSheetORG is the original Worksheet and
> lSheetOUT is the target Worksheet.
>
> Set lHyperLinkList = CreateObject("Scripting.Dictionary")
>
> For Each lHyperlink In lSheetORG.Hyperlinks
> Call lHyperLinkList.Add("C" & lHyperlink.Range.Row,
> lHyperlink.Address)
> Next lHyperlink
>
> lSheetOUT.Hyperlinks.Delete
>
> lKeys = lHyperLinkList.keys
> lItems = lHyperLinkList.items
>
> For i = 0 To lHyperLinkList.Count - 1
> Set lRange = lSheetOUT.Range(lKeys(i))
>
> lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
> TextToDisplay:=lRange.Value
> Next i
>
> Hope this works for you ...
> Joe
>
>
>
> On Aug 3, 8:28 am, "DaveM" <davem...@hotmail.co.uk> wrote:
>> Hi all
>>
>> Been trying to do this for over an hour now, with no joy.
>>
>> sheet1 A1 to A36, The text values that have hyperlinks to files on
>> harddrive
>>
>> sheet2 Column A has lots of the same text values as sheet1, some cells
>> have
>> a little extra text at the end.
>>
>> how can I get the hyperlinks from sheet1 to all cells that contain the
>> same
>> text, to sheet2
>>
>> Thanks in advance
>>
>> Dave

>
>



 
Reply With Quote
 
Joe HM
Guest
Posts: n/a
 
      3rd Aug 2007
Hello Dave -

This is strange ... works just fine for me and that on a sheet without
any hyperlinks.

Do you have a Sheet1?

Did you try to create something like ...
Set lSheet = ThisWorkbook.Sheets("NAME")
.... and use that?

Joe



On Aug 3, 9:29 am, "DaveM" <davem...@hotmail.co.uk> wrote:
> Hi Joe
>
> Error Object required
>
> For Each lHyperlink In Sheet1.Hyperlinks
>
> VBE shows yellow debug on line above.
>
> Thanks for your help
>
> Dave
>
> "Joe HM" <unixve...@yahoo.com> wrote in message
>
> news:(E-Mail Removed)...
>
>
>
> > Set lHyperLinkList = CreateObject("Scripting.Dictionary")

>
> > Hello -

>
> > You can use the following to do that. Please note that I store the
> > hyperlinks in a Scripting.Dictionary for some other reasons. You
> > might not have to do that. lSheetORG is the original Worksheet and
> > lSheetOUT is the target Worksheet.

>
> > Set lHyperLinkList = CreateObject("Scripting.Dictionary")

>
> > For Each lHyperlink In lSheetORG.Hyperlinks
> > Call lHyperLinkList.Add("C" & lHyperlink.Range.Row,
> > lHyperlink.Address)
> > Next lHyperlink

>
> > lSheetOUT.Hyperlinks.Delete

>
> > lKeys = lHyperLinkList.keys
> > lItems = lHyperLinkList.items

>
> > For i = 0 To lHyperLinkList.Count - 1
> > Set lRange = lSheetOUT.Range(lKeys(i))

>
> > lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
> > TextToDisplay:=lRange.Value
> > Next i

>
> > Hope this works for you ...
> > Joe

>
> > On Aug 3, 8:28 am, "DaveM" <davem...@hotmail.co.uk> wrote:
> >> Hi all

>
> >> Been trying to do this for over an hour now, with no joy.

>
> >> sheet1 A1 to A36, The text values that have hyperlinks to files on
> >> harddrive

>
> >> sheet2 Column A has lots of the same text values as sheet1, some cells
> >> have
> >> a little extra text at the end.

>
> >> how can I get the hyperlinks from sheet1 to all cells that contain the
> >> same
> >> text, to sheet2

>
> >> Thanks in advance

>
> >> Dave- Hide quoted text -

>
> - Show quoted text -



 
Reply With Quote
 
DaveM
Guest
Posts: n/a
 
      3rd Aug 2007
Hi Joe

I have renamed my sheets same as yours, This is what I have in VBE


'You can use the following to do that. Please note that I store the
'hyperlinks in a Scripting.Dictionary for some other reasons. You
'might not have to do that. lSheetORG is the original Worksheet and
'lSheetOUT is the target Worksheet.

Sub HyperList()
Set lHyperLinkList = CreateObject("Scripting.Dictionary")
'Set lSheet = ThisWorkbook.Sheets("lSheetORG")

For Each lHyperlink In lSheetORG.Hyperlinks
Call lHyperLinkList.Add("C" & lHyperlink.Range.Row, lHyperlink.Address)
Next lHyperlink

lSheetOUT.Hyperlinks.Delete

lKeys = lHyperLinkList.keys
lItems = lHyperLinkList.items

For i = 0 To lHyperLinkList.Count - 1
Set lRange = lSheetOUT.Range(lKeys(i))

lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
TextToDisplay:=lRange.Value
Next i
End Sub

Thanks

Dave


"Joe HM" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Hello Dave -
>
> This is strange ... works just fine for me and that on a sheet without
> any hyperlinks.
>
> Do you have a Sheet1?
>
> Did you try to create something like ...
> Set lSheet = ThisWorkbook.Sheets("NAME")
> ... and use that?
>
> Joe
>
>
>
> On Aug 3, 9:29 am, "DaveM" <davem...@hotmail.co.uk> wrote:
>> Hi Joe
>>
>> Error Object required
>>
>> For Each lHyperlink In Sheet1.Hyperlinks
>>
>> VBE shows yellow debug on line above.
>>
>> Thanks for your help
>>
>> Dave
>>
>> "Joe HM" <unixve...@yahoo.com> wrote in message
>>
>> news:(E-Mail Removed)...
>>
>>
>>
>> > Set lHyperLinkList = CreateObject("Scripting.Dictionary")

>>
>> > Hello -

>>
>> > You can use the following to do that. Please note that I store the
>> > hyperlinks in a Scripting.Dictionary for some other reasons. You
>> > might not have to do that. lSheetORG is the original Worksheet and
>> > lSheetOUT is the target Worksheet.

>>
>> > Set lHyperLinkList = CreateObject("Scripting.Dictionary")

>>
>> > For Each lHyperlink In lSheetORG.Hyperlinks
>> > Call lHyperLinkList.Add("C" & lHyperlink.Range.Row,
>> > lHyperlink.Address)
>> > Next lHyperlink

>>
>> > lSheetOUT.Hyperlinks.Delete

>>
>> > lKeys = lHyperLinkList.keys
>> > lItems = lHyperLinkList.items

>>
>> > For i = 0 To lHyperLinkList.Count - 1
>> > Set lRange = lSheetOUT.Range(lKeys(i))

>>
>> > lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
>> > TextToDisplay:=lRange.Value
>> > Next i

>>
>> > Hope this works for you ...
>> > Joe

>>
>> > On Aug 3, 8:28 am, "DaveM" <davem...@hotmail.co.uk> wrote:
>> >> Hi all

>>
>> >> Been trying to do this for over an hour now, with no joy.

>>
>> >> sheet1 A1 to A36, The text values that have hyperlinks to files on
>> >> harddrive

>>
>> >> sheet2 Column A has lots of the same text values as sheet1, some cells
>> >> have
>> >> a little extra text at the end.

>>
>> >> how can I get the hyperlinks from sheet1 to all cells that contain the
>> >> same
>> >> text, to sheet2

>>
>> >> Thanks in advance

>>
>> >> Dave- Hide quoted text -

>>
>> - Show quoted text -

>
>



 
Reply With Quote
 
Joe HM
Guest
Posts: n/a
 
      3rd Aug 2007
Hello -

I tweaked the code you sent in your last message. You just need to
rename SOURCE and TARGET to whatever the worksheets are called (i.e.
the names of their tabs).

Sub HyperList()
Set lHyperLinkList = CreateObject("Scripting.Dictionary")

Set lSheetORG = ThisWorkbook.Sheets("SOURCE")
Set lSheetOUT = ThisWorkbook.Sheets("TARGET")

For Each lHyperlink In lSheetORG.Hyperlinks
Call lHyperLinkList.Add("C" & lHyperlink.Range.Row,
lHyperlink.Address)
Next lHyperlink

lSheetOUT.Hyperlinks.Delete

lKeys = lHyperLinkList.keys
lItems = lHyperLinkList.items

For i = 0 To lHyperLinkList.Count - 1
Set lRange = lSheetOUT.Range(lKeys(i))

lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
TextToDisplay:=lRange.Value
Next i
End Sub

Joe



On Aug 3, 10:34 am, "DaveM" <davem...@hotmail.co.uk> wrote:
> Hi Joe
>
> I have renamed my sheets same as yours, This is what I have in VBE
>
> 'You can use the following to do that. Please note that I store the
> 'hyperlinks in a Scripting.Dictionary for some other reasons. You
> 'might not have to do that. lSheetORG is the original Worksheet and
> 'lSheetOUT is the target Worksheet.
>
> Sub HyperList()
> Set lHyperLinkList = CreateObject("Scripting.Dictionary")
> 'Set lSheet = ThisWorkbook.Sheets("lSheetORG")
>
> For Each lHyperlink In lSheetORG.Hyperlinks
> Call lHyperLinkList.Add("C" & lHyperlink.Range.Row, lHyperlink.Address)
> Next lHyperlink
>
> lSheetOUT.Hyperlinks.Delete
>
> lKeys = lHyperLinkList.keys
> lItems = lHyperLinkList.items
>
> For i = 0 To lHyperLinkList.Count - 1
> Set lRange = lSheetOUT.Range(lKeys(i))
>
> lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
> TextToDisplay:=lRange.Value
> Next i
> End Sub
>
> Thanks
>
> Dave
>
> "Joe HM" <unixve...@yahoo.com> wrote in message
>
> news:(E-Mail Removed)...
>
>
>
> > Hello Dave -

>
> > This is strange ... works just fine for me and that on a sheet without
> > any hyperlinks.

>
> > Do you have a Sheet1?

>
> > Did you try to create something like ...
> > Set lSheet = ThisWorkbook.Sheets("NAME")
> > ... and use that?

>
> > Joe

>
> > On Aug 3, 9:29 am, "DaveM" <davem...@hotmail.co.uk> wrote:
> >> Hi Joe

>
> >> Error Object required

>
> >> For Each lHyperlink In Sheet1.Hyperlinks

>
> >> VBE shows yellow debug on line above.

>
> >> Thanks for your help

>
> >> Dave

>
> >> "Joe HM" <unixve...@yahoo.com> wrote in message

>
> >>news:(E-Mail Removed)...

>
> >> > Set lHyperLinkList = CreateObject("Scripting.Dictionary")

>
> >> > Hello -

>
> >> > You can use the following to do that. Please note that I store the
> >> > hyperlinks in a Scripting.Dictionary for some other reasons. You
> >> > might not have to do that. lSheetORG is the original Worksheet and
> >> > lSheetOUT is the target Worksheet.

>
> >> > Set lHyperLinkList = CreateObject("Scripting.Dictionary")

>
> >> > For Each lHyperlink In lSheetORG.Hyperlinks
> >> > Call lHyperLinkList.Add("C" & lHyperlink.Range.Row,
> >> > lHyperlink.Address)
> >> > Next lHyperlink

>
> >> > lSheetOUT.Hyperlinks.Delete

>
> >> > lKeys = lHyperLinkList.keys
> >> > lItems = lHyperLinkList.items

>
> >> > For i = 0 To lHyperLinkList.Count - 1
> >> > Set lRange = lSheetOUT.Range(lKeys(i))

>
> >> > lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
> >> > TextToDisplay:=lRange.Value
> >> > Next i

>
> >> > Hope this works for you ...
> >> > Joe

>
> >> > On Aug 3, 8:28 am, "DaveM" <davem...@hotmail.co.uk> wrote:
> >> >> Hi all

>
> >> >> Been trying to do this for over an hour now, with no joy.

>
> >> >> sheet1 A1 to A36, The text values that have hyperlinks to files on
> >> >> harddrive

>
> >> >> sheet2 Column A has lots of the same text values as sheet1, some cells
> >> >> have




> >> >> a little extra text at the end.

>
> >> >> how can I get the hyperlinks from sheet1 to all cells that contain the
> >> >> same
> >> >> text, to sheet2

>
> >> >> Thanks in advance

>
> >> >> Dave- Hide quoted text -

>
> >> - Show quoted text -- Hide quoted text -

>
> - Show quoted text -



 
Reply With Quote
 
DaveM
Guest
Posts: n/a
 
      3rd Aug 2007
Hi Joe

Sub HyperList()
Set lHyperLinkList = CreateObject("Scripting.Dictionary")

Set lSheetORG = ThisWorkbook.Sheets("sheet1")
Set lSheetOUT = ThisWorkbook.Sheets("sheet2")

For Each lHyperlink In lSheetORG.Hyperlinks

"when run I get yellow arrow in VBE here on this line" Call
lHyperLinkList.Add("C" & lHyperlink.Range.Row, lHyperlink.Address)

Next lHyperlink

lSheetOUT.Hyperlinks.Delete

lKeys = lHyperLinkList.keys
lItems = lHyperLinkList.items

For i = 0 To lHyperLinkList.Count - 1
Set lRange = lSheetOUT.Range(lKeys(i))

lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
TextToDisplay:=lRange.Value
Next i
End Sub

Thanks

Dave



"Joe HM" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Hello -
>
> I tweaked the code you sent in your last message. You just need to
> rename SOURCE and TARGET to whatever the worksheets are called (i.e.
> the names of their tabs).
>
> Sub HyperList()
> Set lHyperLinkList = CreateObject("Scripting.Dictionary")
>
> Set lSheetORG = ThisWorkbook.Sheets("SOURCE")
> Set lSheetOUT = ThisWorkbook.Sheets("TARGET")
>
> For Each lHyperlink In lSheetORG.Hyperlinks
> Call lHyperLinkList.Add("C" & lHyperlink.Range.Row,
> lHyperlink.Address)
> Next lHyperlink
>
> lSheetOUT.Hyperlinks.Delete
>
> lKeys = lHyperLinkList.keys
> lItems = lHyperLinkList.items
>
> For i = 0 To lHyperLinkList.Count - 1
> Set lRange = lSheetOUT.Range(lKeys(i))
>
> lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
> TextToDisplay:=lRange.Value
> Next i
> End Sub
>
> Joe
>
>
>
> On Aug 3, 10:34 am, "DaveM" <davem...@hotmail.co.uk> wrote:
>> Hi Joe
>>
>> I have renamed my sheets same as yours, This is what I have in VBE
>>
>> 'You can use the following to do that. Please note that I store the
>> 'hyperlinks in a Scripting.Dictionary for some other reasons. You
>> 'might not have to do that. lSheetORG is the original Worksheet and
>> 'lSheetOUT is the target Worksheet.
>>
>> Sub HyperList()
>> Set lHyperLinkList = CreateObject("Scripting.Dictionary")
>> 'Set lSheet = ThisWorkbook.Sheets("lSheetORG")
>>
>> For Each lHyperlink In lSheetORG.Hyperlinks
>> Call lHyperLinkList.Add("C" & lHyperlink.Range.Row,
>> lHyperlink.Address)
>> Next lHyperlink
>>
>> lSheetOUT.Hyperlinks.Delete
>>
>> lKeys = lHyperLinkList.keys
>> lItems = lHyperLinkList.items
>>
>> For i = 0 To lHyperLinkList.Count - 1
>> Set lRange = lSheetOUT.Range(lKeys(i))
>>
>> lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
>> TextToDisplay:=lRange.Value
>> Next i
>> End Sub
>>
>> Thanks
>>
>> Dave
>>
>> "Joe HM" <unixve...@yahoo.com> wrote in message
>>
>> news:(E-Mail Removed)...
>>
>>
>>
>> > Hello Dave -

>>
>> > This is strange ... works just fine for me and that on a sheet without
>> > any hyperlinks.

>>
>> > Do you have a Sheet1?

>>
>> > Did you try to create something like ...
>> > Set lSheet = ThisWorkbook.Sheets("NAME")
>> > ... and use that?

>>
>> > Joe

>>
>> > On Aug 3, 9:29 am, "DaveM" <davem...@hotmail.co.uk> wrote:
>> >> Hi Joe

>>
>> >> Error Object required

>>
>> >> For Each lHyperlink In Sheet1.Hyperlinks

>>
>> >> VBE shows yellow debug on line above.

>>
>> >> Thanks for your help

>>
>> >> Dave

>>
>> >> "Joe HM" <unixve...@yahoo.com> wrote in message

>>
>> >>news:(E-Mail Removed)...

>>
>> >> > Set lHyperLinkList = CreateObject("Scripting.Dictionary")

>>
>> >> > Hello -

>>
>> >> > You can use the following to do that. Please note that I store the
>> >> > hyperlinks in a Scripting.Dictionary for some other reasons. You
>> >> > might not have to do that. lSheetORG is the original Worksheet and
>> >> > lSheetOUT is the target Worksheet.

>>
>> >> > Set lHyperLinkList = CreateObject("Scripting.Dictionary")

>>
>> >> > For Each lHyperlink In lSheetORG.Hyperlinks
>> >> > Call lHyperLinkList.Add("C" & lHyperlink.Range.Row,
>> >> > lHyperlink.Address)
>> >> > Next lHyperlink

>>
>> >> > lSheetOUT.Hyperlinks.Delete

>>
>> >> > lKeys = lHyperLinkList.keys
>> >> > lItems = lHyperLinkList.items

>>
>> >> > For i = 0 To lHyperLinkList.Count - 1
>> >> > Set lRange = lSheetOUT.Range(lKeys(i))

>>
>> >> > lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
>> >> > TextToDisplay:=lRange.Value
>> >> > Next i

>>
>> >> > Hope this works for you ...
>> >> > Joe

>>
>> >> > On Aug 3, 8:28 am, "DaveM" <davem...@hotmail.co.uk> wrote:
>> >> >> Hi all

>>
>> >> >> Been trying to do this for over an hour now, with no joy.

>>
>> >> >> sheet1 A1 to A36, The text values that have hyperlinks to files on
>> >> >> harddrive

>>
>> >> >> sheet2 Column A has lots of the same text values as sheet1, some
>> >> >> cells
>> >> >> have

>
>
>
>> >> >> a little extra text at the end.

>>
>> >> >> how can I get the hyperlinks from sheet1 to all cells that contain
>> >> >> the
>> >> >> same
>> >> >> text, to sheet2

>>
>> >> >> Thanks in advance

>>
>> >> >> Dave- Hide quoted text -

>>
>> >> - Show quoted text -- Hide quoted text -

>>
>> - Show quoted text -

>
>



 
Reply With Quote
 
Joe HM
Guest
Posts: n/a
 
      3rd Aug 2007
Hello -

Did you check in the debugger what the value of lHyperlink.Range.Row
is?

You really don't need to use the Script.Dictionary but can copy over
the hyperlinks directly. I just had to do it for another reason.

Joe



On Aug 3, 11:14 am, "DaveM" <davem...@hotmail.co.uk> wrote:
> Hi Joe
>
> Sub HyperList()
> Set lHyperLinkList = CreateObject("Scripting.Dictionary")
>
> Set lSheetORG = ThisWorkbook.Sheets("sheet1")
> Set lSheetOUT = ThisWorkbook.Sheets("sheet2")
>
> For Each lHyperlink In lSheetORG.Hyperlinks
>
> "when run I get yellow arrow in VBE here on this line" Call
> lHyperLinkList.Add("C" & lHyperlink.Range.Row, lHyperlink.Address)
>
> Next lHyperlink
>
> lSheetOUT.Hyperlinks.Delete
>
> lKeys = lHyperLinkList.keys
> lItems = lHyperLinkList.items
>
> For i = 0 To lHyperLinkList.Count - 1
> Set lRange = lSheetOUT.Range(lKeys(i))
>
> lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
> TextToDisplay:=lRange.Value
> Next i
> End Sub
>
> Thanks
>
> Dave
>
> "Joe HM" <unixve...@yahoo.com> wrote in message
>
> news:(E-Mail Removed)...
>
>
>
> > Hello -

>
> > I tweaked the code you sent in your last message. You just need to
> > rename SOURCE and TARGET to whatever the worksheets are called (i.e.
> > the names of their tabs).

>
> > Sub HyperList()
> > Set lHyperLinkList = CreateObject("Scripting.Dictionary")

>
> > Set lSheetORG = ThisWorkbook.Sheets("SOURCE")
> > Set lSheetOUT = ThisWorkbook.Sheets("TARGET")

>
> > For Each lHyperlink In lSheetORG.Hyperlinks
> > Call lHyperLinkList.Add("C" & lHyperlink.Range.Row,
> > lHyperlink.Address)
> > Next lHyperlink

>
> > lSheetOUT.Hyperlinks.Delete

>
> > lKeys = lHyperLinkList.keys
> > lItems = lHyperLinkList.items

>
> > For i = 0 To lHyperLinkList.Count - 1
> > Set lRange = lSheetOUT.Range(lKeys(i))

>
> > lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
> > TextToDisplay:=lRange.Value
> > Next i
> > End Sub

>
> > Joe

>
> > On Aug 3, 10:34 am, "DaveM" <davem...@hotmail.co.uk> wrote:
> >> Hi Joe

>
> >> I have renamed my sheets same as yours, This is what I have in VBE

>
> >> 'You can use the following to do that. Please note that I store the
> >> 'hyperlinks in a Scripting.Dictionary for some other reasons. You
> >> 'might not have to do that. lSheetORG is the original Worksheet and
> >> 'lSheetOUT is the target Worksheet.

>
> >> Sub HyperList()
> >> Set lHyperLinkList = CreateObject("Scripting.Dictionary")
> >> 'Set lSheet = ThisWorkbook.Sheets("lSheetORG")

>
> >> For Each lHyperlink In lSheetORG.Hyperlinks
> >> Call lHyperLinkList.Add("C" & lHyperlink.Range.Row,
> >> lHyperlink.Address)
> >> Next lHyperlink

>
> >> lSheetOUT.Hyperlinks.Delete

>
> >> lKeys = lHyperLinkList.keys
> >> lItems = lHyperLinkList.items

>
> >> For i = 0 To lHyperLinkList.Count - 1
> >> Set lRange = lSheetOUT.Range(lKeys(i))

>
> >> lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
> >> TextToDisplay:=lRange.Value
> >> Next i
> >> End Sub

>
> >> Thanks

>
> >> Dave

>
> >> "Joe HM" <unixve...@yahoo.com> wrote in message

>
> >>news:(E-Mail Removed)...

>
> >> > Hello Dave -

>
> >> > This is strange ... works just fine for me and that on a sheet without
> >> > any hyperlinks.

>
> >> > Do you have a Sheet1?

>
> >> > Did you try to create something like ...
> >> > Set lSheet = ThisWorkbook.Sheets("NAME")
> >> > ... and use that?

>
> >> > Joe

>
> >> > On Aug 3, 9:29 am, "DaveM" <davem...@hotmail.co.uk> wrote:
> >> >> Hi Joe

>
> >> >> Error Object required

>
> >> >> For Each lHyperlink In Sheet1.Hyperlinks

>
> >> >> VBE shows yellow debug on line above.

>
> >> >> Thanks for your help

>
> >> >> Dave

>
> >> >> "Joe HM" <unixve...@yahoo.com> wrote in message

>
> >> >>news:(E-Mail Removed)...

>
> >> >> > Set lHyperLinkList = CreateObject("Scripting.Dictionary")

>
> >> >> > Hello -

>
> >> >> > You can use the following to do that. Please note that I store the
> >> >> > hyperlinks in a Scripting.Dictionary for some other reasons. You
> >> >> > might not have to do that. lSheetORG is the original Worksheet and
> >> >> > lSheetOUT is the target Worksheet.

>
> >> >> > Set lHyperLinkList = CreateObject("Scripting.Dictionary")

>
> >> >> > For Each lHyperlink In lSheetORG.Hyperlinks
> >> >> > Call lHyperLinkList.Add("C" & lHyperlink.Range.Row,
> >> >> > lHyperlink.Address)
> >> >> > Next lHyperlink

>
> >> >> > lSheetOUT.Hyperlinks.Delete

>
> >> >> > lKeys = lHyperLinkList.keys
> >> >> > lItems = lHyperLinkList.items

>
> >> >> > For i = 0 To lHyperLinkList.Count - 1
> >> >> > Set lRange = lSheetOUT.Range(lKeys(i))

>
> >> >> > lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
> >> >> > TextToDisplay:=lRange.Value
> >> >> > Next i

>
> >> >> > Hope this works for you ...
> >> >> > Joe

>
> >> >> > On Aug 3, 8:28 am, "DaveM" <davem...@hotmail.co.uk> wrote:
> >> >> >> Hi all

>
> >> >> >> Been trying to do this for over an hour now, with no joy.

>
> >> >> >> sheet1 A1 to A36, The text values that have hyperlinks to files on
> >> >> >> harddrive

>
> >> >> >> sheet2 Column A has lots of the same text values as sheet1, some
> >> >> >> cells
> >> >> >> have

>
> >> >> >> a little extra text at the end.

>
> >> >> >> how can I get the hyperlinks from sheet1 to all cells that contain
> >> >> >> the
> >> >> >> same
> >> >> >> text, to sheet2

>
> >> >> >> Thanks in advance

>
> >> >> >> Dave- Hide quoted text -

>
> >> >> - Show quoted text -- Hide quoted text -

>
> >> - Show quoted text -- Hide quoted text -

>
> - Show quoted text -



 
Reply With Quote
 
DaveM
Guest
Posts: n/a
 
      3rd Aug 2007
Hi Joe

How do I check in the debugger what the value of lHyperlink.Range.Row is

I'm still learning

Sub HyperList()
Set lHyperLinkList = CreateObject("Scripting.Dictionary")

Set lSheetORG = ThisWorkbook.Sheets("sheet1")
Set lSheetOUT = ThisWorkbook.Sheets("sheet2")

For Each lHyperlink In lSheetORG.Hyperlinks
"yellow arrow here" Call lHyperLinkList.Add("C" & lHyperlink.Range.Row,
lHyperlink.Address)
Next lHyperlink

lSheetOUT.Hyperlinks.Delete

lKeys = lHyperLinkList.keys
lItems = lHyperLinkList.items

For i = 0 To lHyperLinkList.Count - 1
Set lRange = lSheetOUT.Range(lKeys(i))

lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
TextToDisplay:=lRange.Value
Next i
End Sub

I have tried

'Set lHyperLinkList = CreateObject("Scripting.Dictionary")

Thanks Joe

Dave








"Joe HM" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Hello -
>
> Did you check in the debugger what the value of lHyperlink.Range.Row
> is?
>
> You really don't need to use the Script.Dictionary but can copy over
> the hyperlinks directly. I just had to do it for another reason.
>
> Joe
>
>
>
> On Aug 3, 11:14 am, "DaveM" <davem...@hotmail.co.uk> wrote:
>> Hi Joe
>>
>> Sub HyperList()
>> Set lHyperLinkList = CreateObject("Scripting.Dictionary")
>>
>> Set lSheetORG = ThisWorkbook.Sheets("sheet1")
>> Set lSheetOUT = ThisWorkbook.Sheets("sheet2")
>>
>> For Each lHyperlink In lSheetORG.Hyperlinks
>>
>> "when run I get yellow arrow in VBE here on this line" Call
>> lHyperLinkList.Add("C" & lHyperlink.Range.Row, lHyperlink.Address)
>>
>> Next lHyperlink
>>
>> lSheetOUT.Hyperlinks.Delete
>>
>> lKeys = lHyperLinkList.keys
>> lItems = lHyperLinkList.items
>>
>> For i = 0 To lHyperLinkList.Count - 1
>> Set lRange = lSheetOUT.Range(lKeys(i))
>>
>> lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
>> TextToDisplay:=lRange.Value
>> Next i
>> End Sub
>>
>> Thanks
>>
>> Dave
>>
>> "Joe HM" <unixve...@yahoo.com> wrote in message
>>
>> news:(E-Mail Removed)...
>>
>>
>>
>> > Hello -

>>
>> > I tweaked the code you sent in your last message. You just need to
>> > rename SOURCE and TARGET to whatever the worksheets are called (i.e.
>> > the names of their tabs).

>>
>> > Sub HyperList()
>> > Set lHyperLinkList = CreateObject("Scripting.Dictionary")

>>
>> > Set lSheetORG = ThisWorkbook.Sheets("SOURCE")
>> > Set lSheetOUT = ThisWorkbook.Sheets("TARGET")

>>
>> > For Each lHyperlink In lSheetORG.Hyperlinks
>> > Call lHyperLinkList.Add("C" & lHyperlink.Range.Row,
>> > lHyperlink.Address)
>> > Next lHyperlink

>>
>> > lSheetOUT.Hyperlinks.Delete

>>
>> > lKeys = lHyperLinkList.keys
>> > lItems = lHyperLinkList.items

>>
>> > For i = 0 To lHyperLinkList.Count - 1
>> > Set lRange = lSheetOUT.Range(lKeys(i))

>>
>> > lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
>> > TextToDisplay:=lRange.Value
>> > Next i
>> > End Sub

>>
>> > Joe

>>
>> > On Aug 3, 10:34 am, "DaveM" <davem...@hotmail.co.uk> wrote:
>> >> Hi Joe

>>
>> >> I have renamed my sheets same as yours, This is what I have in VBE

>>
>> >> 'You can use the following to do that. Please note that I store the
>> >> 'hyperlinks in a Scripting.Dictionary for some other reasons. You
>> >> 'might not have to do that. lSheetORG is the original Worksheet and
>> >> 'lSheetOUT is the target Worksheet.

>>
>> >> Sub HyperList()
>> >> Set lHyperLinkList = CreateObject("Scripting.Dictionary")
>> >> 'Set lSheet = ThisWorkbook.Sheets("lSheetORG")

>>
>> >> For Each lHyperlink In lSheetORG.Hyperlinks
>> >> Call lHyperLinkList.Add("C" & lHyperlink.Range.Row,
>> >> lHyperlink.Address)
>> >> Next lHyperlink

>>
>> >> lSheetOUT.Hyperlinks.Delete

>>
>> >> lKeys = lHyperLinkList.keys
>> >> lItems = lHyperLinkList.items

>>
>> >> For i = 0 To lHyperLinkList.Count - 1
>> >> Set lRange = lSheetOUT.Range(lKeys(i))

>>
>> >> lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
>> >> TextToDisplay:=lRange.Value
>> >> Next i
>> >> End Sub

>>
>> >> Thanks

>>
>> >> Dave

>>
>> >> "Joe HM" <unixve...@yahoo.com> wrote in message

>>
>> >>news:(E-Mail Removed)...

>>
>> >> > Hello Dave -

>>
>> >> > This is strange ... works just fine for me and that on a sheet
>> >> > without
>> >> > any hyperlinks.

>>
>> >> > Do you have a Sheet1?

>>
>> >> > Did you try to create something like ...
>> >> > Set lSheet = ThisWorkbook.Sheets("NAME")
>> >> > ... and use that?

>>
>> >> > Joe

>>
>> >> > On Aug 3, 9:29 am, "DaveM" <davem...@hotmail.co.uk> wrote:
>> >> >> Hi Joe

>>
>> >> >> Error Object required

>>
>> >> >> For Each lHyperlink In Sheet1.Hyperlinks

>>
>> >> >> VBE shows yellow debug on line above.

>>
>> >> >> Thanks for your help

>>
>> >> >> Dave

>>
>> >> >> "Joe HM" <unixve...@yahoo.com> wrote in message

>>
>> >> >>news:(E-Mail Removed)...

>>
>> >> >> > Set lHyperLinkList = CreateObject("Scripting.Dictionary")

>>
>> >> >> > Hello -

>>
>> >> >> > You can use the following to do that. Please note that I store
>> >> >> > the
>> >> >> > hyperlinks in a Scripting.Dictionary for some other reasons. You
>> >> >> > might not have to do that. lSheetORG is the original Worksheet
>> >> >> > and
>> >> >> > lSheetOUT is the target Worksheet.

>>
>> >> >> > Set lHyperLinkList = CreateObject("Scripting.Dictionary")

>>
>> >> >> > For Each lHyperlink In lSheetORG.Hyperlinks
>> >> >> > Call lHyperLinkList.Add("C" & lHyperlink.Range.Row,
>> >> >> > lHyperlink.Address)
>> >> >> > Next lHyperlink

>>
>> >> >> > lSheetOUT.Hyperlinks.Delete

>>
>> >> >> > lKeys = lHyperLinkList.keys
>> >> >> > lItems = lHyperLinkList.items

>>
>> >> >> > For i = 0 To lHyperLinkList.Count - 1
>> >> >> > Set lRange = lSheetOUT.Range(lKeys(i))

>>
>> >> >> > lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
>> >> >> > TextToDisplay:=lRange.Value
>> >> >> > Next i

>>
>> >> >> > Hope this works for you ...
>> >> >> > Joe

>>
>> >> >> > On Aug 3, 8:28 am, "DaveM" <davem...@hotmail.co.uk> wrote:
>> >> >> >> Hi all

>>
>> >> >> >> Been trying to do this for over an hour now, with no joy.

>>
>> >> >> >> sheet1 A1 to A36, The text values that have hyperlinks to files
>> >> >> >> on
>> >> >> >> harddrive

>>
>> >> >> >> sheet2 Column A has lots of the same text values as sheet1, some
>> >> >> >> cells
>> >> >> >> have

>>
>> >> >> >> a little extra text at the end.

>>
>> >> >> >> how can I get the hyperlinks from sheet1 to all cells that
>> >> >> >> contain
>> >> >> >> the
>> >> >> >> same
>> >> >> >> text, to sheet2

>>
>> >> >> >> Thanks in advance

>>
>> >> >> >> Dave- Hide quoted text -

>>
>> >> >> - Show quoted text -- Hide quoted text -

>>
>> >> - Show quoted text -- Hide quoted text -

>>
>> - Show quoted text -

>
>



 
Reply With Quote
 
Joe HM
Guest
Posts: n/a
 
      7th Aug 2007
Hello -

Sorry for the late response but I was gone for a few days.

In order to look at lHyperlink.Range.Row, you just right-click and
select Add Watch... or drag and drop the selection into the Watches
pane.

Joe



On Aug 3, 12:51 pm, "DaveM" <davem...@hotmail.co.uk> wrote:
> Hi Joe
>
> How do I check in the debugger what the value of lHyperlink.Range.Row is
>
> I'm still learning
>
> Sub HyperList()
> Set lHyperLinkList = CreateObject("Scripting.Dictionary")
>
> Set lSheetORG = ThisWorkbook.Sheets("sheet1")
> Set lSheetOUT = ThisWorkbook.Sheets("sheet2")
>
> For Each lHyperlink In lSheetORG.Hyperlinks
> "yellow arrow here" Call lHyperLinkList.Add("C" & lHyperlink.Range.Row,
> lHyperlink.Address)
> Next lHyperlink
>
> lSheetOUT.Hyperlinks.Delete
>
> lKeys = lHyperLinkList.keys
> lItems = lHyperLinkList.items
>
> For i = 0 To lHyperLinkList.Count - 1
> Set lRange = lSheetOUT.Range(lKeys(i))
>
> lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
> TextToDisplay:=lRange.Value
> Next i
> End Sub
>
> I have tried
>
> 'Set lHyperLinkList = CreateObject("Scripting.Dictionary")
>
> Thanks Joe
>
> Dave
>
> "Joe HM" <unixve...@yahoo.com> wrote in message
>
> news:(E-Mail Removed)...
>
>
>
> > Hello -

>
> > Did you check in the debugger what the value of lHyperlink.Range.Row
> > is?

>
> > You really don't need to use the Script.Dictionary but can copy over
> > the hyperlinks directly. I just had to do it for another reason.

>
> > Joe

>
> > On Aug 3, 11:14 am, "DaveM" <davem...@hotmail.co.uk> wrote:
> >> Hi Joe

>
> >> Sub HyperList()
> >> Set lHyperLinkList = CreateObject("Scripting.Dictionary")

>
> >> Set lSheetORG = ThisWorkbook.Sheets("sheet1")
> >> Set lSheetOUT = ThisWorkbook.Sheets("sheet2")

>
> >> For Each lHyperlink In lSheetORG.Hyperlinks

>
> >> "when run I get yellow arrow in VBE here on this line" Call
> >> lHyperLinkList.Add("C" & lHyperlink.Range.Row, lHyperlink.Address)

>
> >> Next lHyperlink

>
> >> lSheetOUT.Hyperlinks.Delete

>
> >> lKeys = lHyperLinkList.keys
> >> lItems = lHyperLinkList.items

>
> >> For i = 0 To lHyperLinkList.Count - 1
> >> Set lRange = lSheetOUT.Range(lKeys(i))

>
> >> lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
> >> TextToDisplay:=lRange.Value
> >> Next i
> >> End Sub

>
> >> Thanks

>
> >> Dave

>
> >> "Joe HM" <unixve...@yahoo.com> wrote in message

>
> >>news:(E-Mail Removed)...

>
> >> > Hello -

>
> >> > I tweaked the code you sent in your last message. You just need to
> >> > rename SOURCE and TARGET to whatever the worksheets are called (i.e.
> >> > the names of their tabs).

>
> >> > Sub HyperList()
> >> > Set lHyperLinkList = CreateObject("Scripting.Dictionary")

>
> >> > Set lSheetORG = ThisWorkbook.Sheets("SOURCE")
> >> > Set lSheetOUT = ThisWorkbook.Sheets("TARGET")

>
> >> > For Each lHyperlink In lSheetORG.Hyperlinks
> >> > Call lHyperLinkList.Add("C" & lHyperlink.Range.Row,
> >> > lHyperlink.Address)
> >> > Next lHyperlink

>
> >> > lSheetOUT.Hyperlinks.Delete

>
> >> > lKeys = lHyperLinkList.keys
> >> > lItems = lHyperLinkList.items

>
> >> > For i = 0 To lHyperLinkList.Count - 1
> >> > Set lRange = lSheetOUT.Range(lKeys(i))

>
> >> > lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
> >> > TextToDisplay:=lRange.Value
> >> > Next i
> >> > End Sub

>
> >> > Joe

>
> >> > On Aug 3, 10:34 am, "DaveM" <davem...@hotmail.co.uk> wrote:
> >> >> Hi Joe

>
> >> >> I have renamed my sheets same as yours, This is what I have in VBE

>
> >> >> 'You can use the following to do that. Please note that I store the
> >> >> 'hyperlinks in a Scripting.Dictionary for some other reasons. You
> >> >> 'might not have to do that. lSheetORG is the original Worksheet and
> >> >> 'lSheetOUT is the target Worksheet.

>
> >> >> Sub HyperList()
> >> >> Set lHyperLinkList = CreateObject("Scripting.Dictionary")
> >> >> 'Set lSheet = ThisWorkbook.Sheets("lSheetORG")

>
> >> >> For Each lHyperlink In lSheetORG.Hyperlinks
> >> >> Call lHyperLinkList.Add("C" & lHyperlink.Range.Row,
> >> >> lHyperlink.Address)
> >> >> Next lHyperlink

>
> >> >> lSheetOUT.Hyperlinks.Delete

>
> >> >> lKeys = lHyperLinkList.keys
> >> >> lItems = lHyperLinkList.items

>
> >> >> For i = 0 To lHyperLinkList.Count - 1
> >> >> Set lRange = lSheetOUT.Range(lKeys(i))

>
> >> >> lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
> >> >> TextToDisplay:=lRange.Value
> >> >> Next i
> >> >> End Sub

>
> >> >> Thanks

>
> >> >> Dave

>
> >> >> "Joe HM" <unixve...@yahoo.com> wrote in message

>
> >> >>news:(E-Mail Removed)...

>
> >> >> > Hello Dave -

>
> >> >> > This is strange ... works just fine for me and that on a sheet
> >> >> > without
> >> >> > any hyperlinks.

>
> >> >> > Do you have a Sheet1?

>
> >> >> > Did you try to create something like ...
> >> >> > Set lSheet = ThisWorkbook.Sheets("NAME")
> >> >> > ... and use that?

>
> >> >> > Joe

>
> >> >> > On Aug 3, 9:29 am, "DaveM" <davem...@hotmail.co.uk> wrote:
> >> >> >> Hi Joe

>
> >> >> >> Error Object required

>
> >> >> >> For Each lHyperlink In Sheet1.Hyperlinks

>
> >> >> >> VBE shows yellow debug on line above.

>
> >> >> >> Thanks for your help

>
> >> >> >> Dave

>
> >> >> >> "Joe HM" <unixve...@yahoo.com> wrote in message

>
> >> >> >>news:(E-Mail Removed)...

>
> >> >> >> > Set lHyperLinkList = CreateObject("Scripting.Dictionary")

>
> >> >> >> > Hello -

>
> >> >> >> > You can use the following to do that. Please note that I store
> >> >> >> > the
> >> >> >> > hyperlinks in a Scripting.Dictionary for some other reasons. You
> >> >> >> > might not have to do that. lSheetORG is the original Worksheet
> >> >> >> > and
> >> >> >> > lSheetOUT is the target Worksheet.

>
> >> >> >> > Set lHyperLinkList = CreateObject("Scripting.Dictionary")

>
> >> >> >> > For Each lHyperlink In lSheetORG.Hyperlinks
> >> >> >> > Call lHyperLinkList.Add("C" & lHyperlink.Range.Row,
> >> >> >> > lHyperlink.Address)
> >> >> >> > Next lHyperlink

>
> >> >> >> > lSheetOUT.Hyperlinks.Delete

>
> >> >> >> > lKeys = lHyperLinkList.keys
> >> >> >> > lItems = lHyperLinkList.items

>
> >> >> >> > For i = 0 To lHyperLinkList.Count - 1
> >> >> >> > Set lRange = lSheetOUT.Range(lKeys(i))

>
> >> >> >> > lSheetOUT.Hyperlinks.Add Anchor:=lRange, Address:=lItems(i),
> >> >> >> > TextToDisplay:=lRange.Value
> >> >> >> > Next i

>
> >> >> >> > Hope this works for you ...
> >> >> >> > Joe

>
> >> >> >> > On Aug 3, 8:28 am, "DaveM" <davem...@hotmail.co.uk> wrote:
> >> >> >> >> Hi all

>
> >> >> >> >> Been trying to do this for over an hour now, with no joy.

>
> >> >> >> >> sheet1 A1 to A36, The text values that have hyperlinks to files
> >> >> >> >> on
> >> >> >> >> harddrive

>
> >> >> >> >> sheet2 Column A has lots of the same text values as sheet1, some
> >> >> >> >> cells
> >> >> >> >> have

>
> >> >> >> >> a little extra text at the end.

>
> >> >> >> >> how can I get the hyperlinks from sheet1 to all cells that
> >> >> >> >> contain
> >> >> >> >> the
> >> >> >> >> same
> >> >> >> >> text, to sheet2

>
> >> >> >> >> Thanks in advance

>
> >> >> >> >> Dave- Hide quoted text -

>
> >> >> >> - Show quoted text -- Hide quoted text -

>
> >> >> - Show quoted text -- Hide quoted text -

>
> >> - Show quoted text -- Hide quoted text -

>
> - Show quoted text -



 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
copy an intial cells contents into the next series of blank cells ina column freeriderxlt Microsoft Excel Discussion 2 25th Aug 2009 07:47 AM
Hyperlinks: Hyperlinks change on copy/paste? =?Utf-8?B?UmljayBTLg==?= Microsoft Excel Worksheet Functions 0 13th Nov 2007 08:19 PM
autocreating hyperlinks in excel? ie 500 cells to 500 hyperlinks? =?Utf-8?B?dGVycnk=?= Microsoft Excel Programming 0 1st Nov 2007 03:55 PM
Hyperlinks between two cells and referntially copying hyperlinks Chris Swinney Microsoft Excel Discussion 0 6th Mar 2007 09:44 AM
How to use macros to copy a range of cells which can exclude some cells which I didn't want to be copied? excelnovice Microsoft Excel Worksheet Functions 2 25th Sep 2005 12:38 AM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 05:21 AM.