| Home | Forums | Reviews | Articles | Register |
![]() |
| Thread Tools | Rate Thread |
|
|
|
| |
|
Joe HM
Guest
Posts: n/a
|
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 |
|
||
|
||||
|
DaveM
Guest
Posts: n/a
|
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 > > |
|
||
|
||||
|
Joe HM
Guest
Posts: n/a
|
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 - |
|
||
|
||||
|
DaveM
Guest
Posts: n/a
|
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 - > > |
|
||
|
||||
|
Joe HM
Guest
Posts: n/a
|
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 - |
|
||
|
||||
|
DaveM
Guest
Posts: n/a
|
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 - > > |
|
||
|
||||
|
Joe HM
Guest
Posts: n/a
|
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 - |
|
||
|
||||
|
DaveM
Guest
Posts: n/a
|
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 - > > |
|
||
|
||||
|
Joe HM
Guest
Posts: n/a
|
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 - |
|
||
|
||||
|
|
|
| |
![]() |
| Thread Tools | |
| Rate This Thread | |
|
|
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 |
Powered by vBulletin®. Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2010, Crawlability, Inc. |




