Avatar billede ceacer Praktikant
07. maj 2007 - 16:35 Der er 15 kommentarer og
3 løsninger

VBA kode/hyperlink

Jeg har en dato i kolonne O i Ark 1, hvor der står en række notenumre. I Ark 4 har jeg en tabel med, hvor disse notenumre ligeledes fremgår. Er det muligt at lave en kode/hyperlink, så når jeg trykker på notenummeret i Ark 1 (eller en knap), så kommer jeg automatisk hen til den celle i Ark 4, hvor notenummeret står?

Numrene ændres løbende, så jeg vil gerne have en løsning, hvor jeg ikke skal ind og specificere en bestemt placering for hver enkelt note. Noget i stil med, at hvis der står et tal i kolonne O i Ark 4, så skal man via en knap eller lignende kunne komme hen til samme tal i kolonne B i Ark 4.
Avatar billede koppelgaard Praktikant
07. maj 2007 - 16:46 #1
Du behøver blot at så i den rækker hvor kodenummeret findes.
Sub mitLink()
    kodeNr = Cells(ActiveCell.Row, 15).Value
    Sheets("ark4").Select
    Range("B1:B65536").Find(kodeNr, lookat:=xlWhole).Select
   
End Sub
Avatar billede ceacer Praktikant
07. maj 2007 - 17:04 #2
Jeg skal vist lige bruge lidt hjælp. Jeg er slet ikke inde i VBA. Hvis vi nu siger at notenumrene står i kolonne O hvad skal jeg så gøre?
Skal jeg lave en knap ved siden af (hvordan?) og så indsætte koden eller hvordan skal jeg gøre det?
Avatar billede koppelgaard Praktikant
07. maj 2007 - 18:20 #3
Tryk F11 for at kommer ind i VBA
Tryk ctrl R for at få vist projekt eksplorer
Højreklik for at indsætte modul.

Indsæt min kode der.

Tilføj følgende kode
Sub Auto_open()
    Application.onkey “{F5}“,” mitLink”
End sub

Gem og luk filen.
Åben den igen (så køres auto_open).

Du kan nu aktivere makroen, som aktivere din celle med F5


15 tallet i makroen skulle svarer til kolonne o.
Dvs. du behøver ikke stå i kolonne o for når du køre makroen.

du kan erstatte kodeNr = Cells(ActiveCell.Row, 15).Value med
kodeNr = Cells(ActiveCell.Row, activecell.column).Value,
men så skal du stå i den celle du vil bruge som input
Avatar billede ceacer Praktikant
07. maj 2007 - 22:18 #4
Hmmm jeg får det ikke helt til at virke. Den siger der er fejl i den kode, som jeg skulle tilføje.
Jeg har notenumre i kolonne O og vil sådan set helst have en knap ved siden af, så når jeg trykker på den knap, så kommer jeg over i Ark 4 til den note, som står i kolonne O.
Jeg forstår ikke, hvor jeg skal trykke eller lignende for at komme det rigtige sted hen i din løsning.

Jeg har skrevet følgende i module1:

Sub mitLink()
    kodeNr = Cells(ActiveCell.Row, 15).Value
    Sheets("ark4").Select
    Range("B1:B65536").Find(kodeNr, lookat:=xlWhole).Select
End Sub

Sub Auto_open()
    Application.onkey “{F5}“,” mitLink”
End Sub

Den siger, at der er fejl i:

Sub Auto_open()
    Application.onkey “{F5}“,” mitLink”
Avatar billede kabbak Professor
07. maj 2007 - 22:57 #5
Application.onkey "{F5}","mitLink"
Avatar billede ceacer Praktikant
08. maj 2007 - 00:22 #6
Sådan. Det hjalp på det. Kan det lade sig gøre, at man aktiverer makroen ved en knap i stedet? Så knappen udfører ordren med at gå hen til cellen i Ark 4? Jeg ved ikke helt om jeg vil benytte knap eller muligheden med F5, men det vil være rart at prøve dem begge.
Avatar billede koppelgaard Praktikant
08. maj 2007 - 08:08 #7
Det kan du!
Du kan vælge mellem en knap, som sidder i dit ark eller en oppe i en værktøjtøjslinie, som er synlig hele tiden også når din fil ikke er åbne.

En knap i arket er nok det nemmeste at lave for dig i første omgang.

Du skal tilføje værktøjslinien "Formularer"(højreklik i det grå felt i en af de eksisterende værktøjslinier og klik af ved "Formularer")
Klik på "knap" og klik i arket, hvor knappen skal sidde. Tilknyt makroen "mitlink" til knappen ved at vælge den i den menu, der kommer op.
Skift evt navnet på knappen ved at højreklikke på knappen og vælg "rediger tekst"
Avatar billede ceacer Praktikant
08. maj 2007 - 16:08 #8
Ja okay nu har jeg fundet ud af det. Jeg troede at man kunne lave en kode, hvor man ikke behøvede at stå i den pågældende række. Så hvis der fx står 1 i række 8 så kunne jeg trykke på knappen ved siden af og komme hen til note 1 på det andet ark uanset hvilken række markøren var i.
Er det muligt? (sidste spørgsmål så skal du nok få point) :)
Avatar billede koppelgaard Praktikant
08. maj 2007 - 22:47 #9
Blev bare ved med at spørge det gør ikke noget.

Vil du have en knap for hver række hvor hver knap i rækken refererer til en knap som bruger rækkens værdi som input ?

Eller vil du bare have en knap, der refererer til een bestem celle i dit ark?
Avatar billede ceacer Praktikant
08. maj 2007 - 23:11 #10
Her kan du se en kopi af mit ark:
http://img403.imageshack.us/my.php?image=eksempelvc6.gif
I D står numrene som skal findes i arket der nu hedder Noter (jeg har rettet koden til). Jeg vil gerne have, at knappen flytter markøren over til den pågældende note i arket Noter uden at man behøver at stå i fx række 8 for at komme til note 2. Det hele fungerer fint. Jeg tænkte bare på om man kunne blive fri for først at stå i rækken før man trykker på knappen.
Jeg vil ikke have to knapper, men tænkte på om det kunne kodes ind i én knap i stedet?
Avatar billede koppelgaard Praktikant
09. maj 2007 - 10:42 #11
På en eller anden måde skal excel have at vide, hvilket notennummer du vil slå op.
Og notenumrene (og rækken ) variere fra gang til gang ikke ?

Du kan fortælle excel hvilket notenummer ved

1) en popupinputbox som kommer frem ved at du starter makroen. Heri kan du indtaste notenummeret.

2) ved at stå i en bestemt række/celle som referer til den bestemte celle.
Hvis du står i en bestemt række kan excel bruge værdien i
celle(aktiv række, kolonne 4).

3) ved at notenummret står i en bestemt celle altid og at makroen altid bruger denne celle som indput.

4) ved at celle, du skal bruge som input, på en eller anden måde skilder sig ud fra de andre celler. Feks er fed, store bogstaver, rød - eller er den sidste fyldte celle i kolonnen.
Avatar billede koppelgaard Praktikant
10. maj 2007 - 16:30 #12
Har du klaret problemet ?
Avatar billede ceacer Praktikant
11. maj 2007 - 13:13 #13
hej igen. Undskyld det sene svar.
Jo notenumrene kan variere fra gang til gang, men det vil altid være det nummer som står i kolonne D, der skal findes. Jeg tænkte derfor på, om man ikke kunne lave en makro, der slår tallet i kolonne D op og finder det under noter. Der er en knap for hver note, så hver knap ville kunne henvise til et forskelligt tal.
Det kan derfor være, at det er mulighed 3. Hvis man ikke kan sige, at det skal være tallet i kolonne D, så kan man måske lave x antal makroer. En der siger, at man slår tallet i D7 op, en der siger D8 osv. Så mangler jeg bare en standardformel, som jeg så selv kan rette til. Kan det ikke lade sig gøre?
Avatar billede koppelgaard Praktikant
12. maj 2007 - 12:04 #14
Jeg tror jeg har en langt nemmere løsning til dig.
Hvis du alligevel skal klikke på en knap kan du ligeså godt dobbeltklikke på notenummret.
Du ligger følgende kode i det ark, hvor dine notenumre findes.
Dvs du højreklikker på arknavnet og vælger "vis programkode".
Der kommer nu i kodevindue op. Her paster du koden ind


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Note As String
    If Target.Column = 4 Then
        Note = Target
        Cancel = True
        Call findCelle(Note)
    End If
End Sub


Derefter lægger du følgende kode ind i et almindeligt modul.
Sub findCelle(Note As String)

        Sheets("ark4").Select
        Cells.Find(What:=Note, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
        xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
        False).Activate
   
End Sub


Nu kan du dobbeltklikke på din note og bliver sendt direkte til ark 4 med selve noten.
Hvis du hellere vil have knapper så meld tilbage så ser vi på det.
Avatar billede ceacer Praktikant
12. maj 2007 - 15:18 #15
Jeg kan ikke rigtig få det til at virke, men jeg tror gerne jeg vil have en knap i stedet. I kolonne D (notenummeret), står der en formel, der giver notenummeret automatisk. Jeg ved ikke om det har nogen indflydelse.
D7 ser således ud: =HVIS(Noter!B8>0;Noter!B8;"")
Noter er det tidligere Ark4.
Avatar billede koppelgaard Praktikant
12. maj 2007 - 21:44 #16
Kan du ikke sende mig arket på michael.koppelgaard@gmail.com
Så skal jeg lave de to løsninger til dig.
Avatar billede ceacer Praktikant
13. maj 2007 - 12:23 #17
sendt
Avatar billede ceacer Praktikant
14. maj 2007 - 15:48 #18
Ark er modtaget retur og det er virkelig flot arbejde. Tusind tak for hjælpen!
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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