07. maj 2007 - 16:35Der 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.
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
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?
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
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”
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.
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"
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) :)
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?
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.
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?
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)
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.
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.
Ark er modtaget retur og det er virkelig flot arbejde. Tusind tak for hjælpen!
Synes godt om
Ny brugerNybegynder
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.