Avatar billede Hasselriis Nybegynder
02. april 2012 - 19:44 Der er 5 kommentarer og
1 løsning

Oprettelse af hyperlink til nyt sheet i VBA, excel 2007

Hej Eksperter.

Jeg sidder og slås med en, for mit vedkommende, større udfordring.

Jeg har lavet en oversigt over sager og en sagsskabelon.

Når jeg trykker 'Tilføj ny sag', bliver der automatisk tilføjet en ny række med nogle få sagsinformationer samt et nr. Samtidig bliver sagsskabelonen kopieret ud som nyt sheet og oprettet med det specifikke nr.

Udfordringen består i, at der naturligvis skal være et hyperlink fra det nye nr. i oversigten og ud til det nye sheet.

Den code jeg har forsøgt mig med ser således ud:

ActiveCell.Offset(0, 0).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
    "'1'!A1"

Jeg er klar over, at den sidste linje skal ændres, men til hvad? Der er muligvis andre mangler også?

Har I et forslag?

På forhånd tak

/Morten
Avatar billede supertekst Ekspert
03. april 2012 - 08:59 #1
Hvordan er de enkelte sagsark navngivet - med sagsnr?

Så kan det gøres via en enkel makro, der traversere alle arkfaner.
Avatar billede Hasselriis Nybegynder
03. april 2012 - 13:21 #2
Hej Supertekst


Jeg har lavet følgende kode for at kopiere skabelonen og navngive den...

    Sheets("Skabelon").Select
    Sheets("Skabelon").Copy After:=Sheets(2)
    ActiveSheet.Name = i


Hilsen fra Morten
Avatar billede supertekst Ekspert
03. april 2012 - 13:29 #3
Har du mulighed for at sende en kopi / model?

@-adresse under min profil..
Avatar billede Hasselriis Nybegynder
03. april 2012 - 16:15 #4
Sagen er løst til ug kryds og slange
Avatar billede supertekst Ekspert
03. april 2012 - 16:31 #5
Det er vel ikke så ringe - så må du hellere få et svar
Avatar billede supertekst Ekspert
03. april 2012 - 16:33 #6
Dette var justeringen:

    arkNavn = beregnSagsArkNr
   
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
    arkNavn & "!A1"

o.s.v.
..
..
End Sub
Private Function beregnSagsArkNr() As String
Dim ark, nr As Integer, aNavn
    nr = 0
    For ark = 1 To ActiveWorkbook.Sheets.Count
        aNavn = ActiveWorkbook.Sheets(ark).Name
       
        If IsNumeric(aNavn) = True Then
            If aNavn > nr Then
                nr = aNavn
            End If
        End If
    Next ark
   
    beregnSagsArkNr = nr + 1
End Function
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
Kurser inden for grundlæggende programmering

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