Avatar billede jornp Nybegynder
07. marts 2008 - 21:36 Der er 37 kommentarer og
1 løsning

Flytte hyperlink fra ark til ark?

Jeg har tidligere spurgt om dette, men svaret der kom fik jeg ikke til at virke, og jeg er ved at være godt desperat nu, da jeg har 35 ark/sider med 10-15 hyperlink hver som jeg skal have kopieret.
Jeg har lavet en side som er perfekt, den skal jeg så have kopieret ud til 35 medarbejdere, men kan det passe at jeg skal sidde og rette hver enkelt hyperlink?

Hyperlinkene skal blive på samme ark/side, dvs. at f.eks. celle F21 et link som hopper over til AG10 på samme ark, men når jeg kopierer det til ark 2, og trykker på hyperlinket springer den over til AG10 på ark 1.
Avatar billede word-hajen Nybegynder
07. marts 2008 - 22:13 #1
Dit hyperlink henviser stadig til den celle, som du har oprettet hyperlinket med. Nedenstående kode kopierer det aktuelle ark, løber alle hyperlinks på det nye ark igennem og retter det til "lokale" celler, hvis hyperlinket ellers henviser til det ark, hvor det er kopieret fra.

*********************
Public Sub CopySheetAndEditHyperlinks()
    Dim objWS As Worksheet
    Dim objNewWS As Worksheet
    Dim objHyper As Hyperlink
    Dim strHyper As String
    Dim strText As String
    Dim strAddress As String
   
    Set objWS = ActiveSheet
    objWS.Copy , objWS
    Set objNewWS = ActiveSheet
   
    For Each objHyper In objNewWS.Hyperlinks
        strHyper = objHyper.SubAddress
        strText = objHyper.TextToDisplay
        strAddress = objHyper.Range.Address
       
        strHyper = Replace(objHyper.SubAddress, objWS.Name & "!", "")
       
        objNewWS.Hyperlinks.Add anchor:=objNewWS.Range(strAddress), Address:="", SubAddress:=strHyper, TextToDisplay:=strText
    Next objHyper
   
    Set objWS = Nothing
    Set objNewWS = Nothing
End Sub
Avatar billede excelent Ekspert
08. marts 2008 - 10:29 #2
Sub CopyHyper()

Set sh1 = Sheets("Ark1") ' ret Ark1 til aktuel arknavn, hvor hyperlink er

For Each c In sh1.Hyperlinks
Adr = c.Parent.Address
sAdr = c.SubAddress
tekst = c.TextToDisplay
For Each sh In ThisWorkbook.Sheets
  If sh.Name <> sh1.Name Then
  sh.Activate
    Range(Adr).Select
    x = Left(sAdr, InStr(sAdr, "!"))
  sAdr = Replace(sAdr, x, "!")
  ActiveSheet.Hyperlinks.Add Anchor:=sh.Range(Adr), Address:="", SubAddress:=sh.Name & sAdr, TextToDisplay:=tekst
End If
Next
Next

End Sub
Avatar billede word-hajen Nybegynder
08. marts 2008 - 11:18 #3
excelent -> træder jeg på dit territorium eller er der noget galt med min kode?
Avatar billede excelent Ekspert
08. marts 2008 - 11:52 #4
hvis vi hver især havde et sådant, så måtte jeg da vist have trådt på dit

og skal vi så ikke lade spørger om hvilken kode der løser opgaven.
Avatar billede word-hajen Nybegynder
08. marts 2008 - 12:10 #5
Vi skal ikke starte en diskussionstråd her, for det er spørger ikke tjent med (og heller ikke alle mulige andre). Undrer mig bare...
Avatar billede excelent Ekspert
08. marts 2008 - 12:19 #6
Normalt blander jeg mig ikke i spørgsmål en anden expert har budt på
men hvis denne løsning ikke løser opgaven som jeg forstår den så hænder det jeg kommer med mit bud
Men jeg kan naturligvis også have misforstået spørgsmålet, og så er der jo ingen skade set som jeg ser det.
Avatar billede jornp Nybegynder
10. marts 2008 - 16:21 #7
Jeg er ikke VBA ekspert, men jeg har afprøvet begge løsninger, word-hajens kan jeg godt se hvordan den virker, og når jeg kører den kopierer den også arket, f.eks. ark "Charlotte" og danner derefter et ark "Charlotte(2)" men når jeg trykker på cellen med hyplink f.eks. TJEKLISTE (som skulle hoppe fra celle O6 til A70) så hopper den tilbage til ark "Charlotte" celle A70, og altså ikke til "Charlotte(2)" celle A70

Excelents kode kan jeg ikke få til at virke, det kan meget sandsyneligt skyldes noget jeg laver forkert, men den skriver en masse run-time error 1004 Application-defined or objekt-defined error, og den er ikke glad for linien med "Sub CopyHyper"
Avatar billede excelent Ekspert
10. marts 2008 - 16:27 #8
Hvad hedder arket hvor du har hyperlinks?
Indsæt et eks. på en af dine links
Hvad hedder dine øvrige ark - blot et par stykker ?
Avatar billede jornp Nybegynder
10. marts 2008 - 16:44 #9
Jeg har en forside som er en liste over alle folkene

eks på forside:
charlotte "person" 
christian "person"
ewa      "person"
Hugo      "person"

*"person" er et hyperlink som hopper fra forsiden, til arket som tilhører personen(arket har samme navn som personen,charlotte, christian osv.)


Når man så er kommet ind på "personen" så er der en masse oplysninger, hver medarbejder har hver sin side, så derfor er der jo hyperlinks på alle siderne.

Eksempler på hyperlinks:
1. et link der hedder "forside" som hopper fra personens side til forsiden (O4 til forside.
2. et link som hedder "tjekliste" som hopper fra O6 til A70 PÅ SAMME ARK.
3. et link der hedder "Rapport" som hopper fra O8 til AG1 PÅ SAMME ARK.

De øvrige ark hedder navnene, charlotte,christian, ewa, hugo osv.

Problemet er at jeg har lavet arket "charlotte" helt færdigt, udfyldt det med alle informationer.
Oprindeligt havde jeg lavet det så hver person havde et ark som deres "forside" og derfra hoppede man til et andet ark hvor man kunne se deres kurser, og man kunne også hoppe til et ark der viste hvordan de var blevet oplært osv. men det tilknyttede 3-4 ark til hver person, og med 35 folk ville det blive ret omfattende.
Derfor lavede jeg det sådan at der kun er 1 side pr. mand, men at man så hopper rundt på hvert enkelt ark med hjælp fra hyperlinksene.

Men nu virker "Charlotte" men jeg kan jo ikke kopiere det unden at skulle igennem alle hyperlinksene for hver enkelt :o(
Hidtil har jeg bare brugt Ctrl+c og sat dem ind på hvert enkelt person, virkede fint, men ikke med hyperlinksene.
Avatar billede excelent Ekspert
10. marts 2008 - 17:02 #10
ok jeg prøver at skrue den sammen så den passer bedre til dine forhold

imens kan du prøve mit testark
http://pmexcelent.dk/Hyper.xls

du skal nok lige gemme den på HD først
Avatar billede jornp Nybegynder
10. marts 2008 - 17:12 #11
Wow, det er jo sådan lidt a la "opret ny bruger", det ser spændende ud.
Avatar billede excelent Ekspert
10. marts 2008 - 17:24 #12
Starter dine Arknavne med stort begyndelses bogstav ?
Avatar billede jornp Nybegynder
10. marts 2008 - 17:30 #13
jeps
Avatar billede excelent Ekspert
10. marts 2008 - 17:39 #14
ok prøv om denne dur
Linket "Forside" på Arket Charlotte kopieres ikke til øvrige ark
men eller kopieres de links som er på Ark Charlotte til alle øvrige medarb.ark
Ved ikke om jeg kan få linket Forside med også

Sub xHyper()

Set sh1 = Sheets("Charlotte")
Application.ScreenUpdating = False
For Each c In sh1.Hyperlinks
Adr = c.Parent.Address
sAdr = c.SubAddress
tekst = c.TextToDisplay
For Each sh In ThisWorkbook.Sheets
  If sh.Name <> sh1.Name And sh.Name <> "Forside" Then
  sh.Activate
    Range(Adr).Select
    x = Left(sAdr, InStr(sAdr, "!"))
  sAdr = Replace(sAdr, x, "!")
  If InStr(sAdr, "!") > 0 Then tekst = Replace(tekst, Left(tekst, InStr(tekst, "!")), sh.Name & "!")
 
  If tekst <> "Forside" Then
  ActiveSheet.Hyperlinks.Add Anchor:=sh.Range(Adr), Address:="", SubAddress:=sh.Name & sAdr, TextToDisplay:=tekst
  End If
End If
Next
Next
sh1.Select
Application.ScreenUpdating = True

End Sub
Avatar billede jornp Nybegynder
10. marts 2008 - 17:45 #15
Øhh hvilket ark skal jeg sætte det ind på? skal jeg lave en commandbutton på forsiden? eller hvordan?
Avatar billede excelent Ekspert
10. marts 2008 - 17:46 #16
Tast ALT+F11
i menuen vælg Insert module
indsæt kode der
Avatar billede excelent Ekspert
10. marts 2008 - 17:48 #17
du kan blot starte den med ALT+F8
vælg xHyper og kør/run

senere kan du evt. lave en knap
Avatar billede jornp Nybegynder
10. marts 2008 - 17:52 #18
Subscript out of range?
Avatar billede excelent Ekspert
10. marts 2008 - 17:54 #19
Jeg kører med Excel 2003 og windows wista
hvad har du ?

har du mulighed for at sende filen ?
Avatar billede jornp Nybegynder
10. marts 2008 - 17:57 #20
jeg har xp, aner ikke hvilken excel jeg har.

Jeg har nu skrevet charlottes efternavn ved også, det hjalp lidt på det :o)

Prøver lige igen.
Avatar billede excelent Ekspert
10. marts 2008 - 18:00 #21
Ellers prøv mit testark, har opdateret så det ligner dit
blot klik på ovenstående link igen
Avatar billede jornp Nybegynder
10. marts 2008 - 18:01 #22
ja det kunne godt være jeg lige skulle sende det til dig, den har godtnok kopieret linksene til de andre sider, men referancen er ugyldig:o)
Avatar billede excelent Ekspert
10. marts 2008 - 18:10 #23
pm@madsen.tdcadsl.dk
Avatar billede jornp Nybegynder
10. marts 2008 - 18:12 #24
Ja jeg troede der var en let funktion så hyperlinks kunne kopieres, men kan godt se at det er noget større end først antaget:-)

Jeg skal alligevel alle arkene igennem og rette navne, numre osv. så jeg kan ligeså godt tage det på den hårde måde.

Men kom bare med et svar, så kan vi afslutte den her.
Avatar billede excelent Ekspert
10. marts 2008 - 18:12 #25
Er du sikker på dit ark hedder Charlotte ?
Avatar billede jornp Nybegynder
10. marts 2008 - 18:13 #26
jeg har rettet din kode til Charlotte Nørgaard.
Avatar billede jornp Nybegynder
10. marts 2008 - 18:17 #27
først rettede jeg koden til Charlotte Nørgaard, nu har jeg så prøvet at rette arket til kun at hedde Charlotte, og stadig er referencen ugyldig
Avatar billede excelent Ekspert
10. marts 2008 - 18:18 #28
Som du kan se i min fil så virker koden som den skal
så mon ikke vi kan få dit til at virke også
Jeg skal jo bare have de rette oplysninger ellers går det galt
Så prøv lige at hente min fil igen og lad mig høre om den virker ok
Avatar billede excelent Ekspert
10. marts 2008 - 18:19 #29
Hvor er koden CopyHyper (den første) har du slettet den igen ?
Avatar billede excelent Ekspert
10. marts 2008 - 18:19 #30
skal lige lufte hunene
Avatar billede jornp Nybegynder
10. marts 2008 - 18:19 #31
ja har lige slettet alle andre koder
Avatar billede jornp Nybegynder
10. marts 2008 - 18:20 #32
kan det have noget med flettede celler at gøre?
Avatar billede excelent Ekspert
10. marts 2008 - 18:42 #33
ja hvis hyperlinkceller indgår i flettede celler så kunne jeg godt forestill mig det gav problemer
Men har du testet min fil igen og virker den efter hensigten ?
Avatar billede excelent Ekspert
10. marts 2008 - 18:50 #34
Hvis jeg ikke lige svarer, så er det fordi jeg spiller canasta :-)
Avatar billede jornp Nybegynder
10. marts 2008 - 18:57 #35
jeps, din fil virker som den skal, ingen problemer.

Jeg kan lige selv sidde og lege lidt med det, kom bare med et svar :o)
Avatar billede jornp Nybegynder
10. marts 2008 - 19:06 #36
Problemet er også at jeg lige har fundet 15-20 hyperlinks mere på siden, jeg glemte lige at inde i Rapporten var der også nogen, så det blive rimelig omfattende.

Jeg vil lige tænke over hvordan jeg kan lave programmet så det ikke bliver så omfattende, der må være et eller andet smart jeg kan gøre.
Avatar billede excelent Ekspert
10. marts 2008 - 19:29 #37
ok tag bare point selv
Avatar billede jornp Nybegynder
12. marts 2008 - 20:09 #38
lukket
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

Cognizant Technology Solutions Denmark ApS

Kinaxis Sr. Solution Consultant

Cognizant Technology Solutions Denmark ApS

Test Manager