Avatar billede mestero Nybegynder
03. februar 2008 - 22:12 Der er 24 kommentarer

Arknavn til celle - eller omvendt

Hvordan overfører jeg navnet på et ark til en celle eller omvendt?
Vil gerne undgå at skrive mere end nødvendigt!
Avatar billede pejsen Nybegynder
03. februar 2008 - 22:54 #1
Function SheetName()
'Bruges i en celle =SheetName() til at hente arknavnet ind i cellen.
    Application.Volatile
    SheetName = Application.Caller.Parent.Name
End Function
Avatar billede jkrons Professor
04. februar 2008 - 00:41 #2
Du kan finde en løsning på begge spørgsmål her:

www.kronsell.net/smaamakroer#fn og www.kronsell.net/smaamakroer#aRK
Avatar billede jkrons Professor
04. februar 2008 - 00:42 #3
Avatar billede jkrons Professor
04. februar 2008 - 00:42 #4
Jeg er for træt.

Prøv

www.kronsell.net/smaamakroer.htm
Avatar billede perhol Seniormester
04. februar 2008 - 01:22 #5
jkrons har vist brug for lidt hjælp!
Følg nedenstående link
http://www.kronsell.net/Smaamakroer.htm
Tryk derefter på linket der hedder 'Arknavn i celle'
så skulle du være der.
Avatar billede jkrons Professor
04. februar 2008 - 16:44 #6
perhold-> Tak for hjælpen. Det gik helt i kage efter en lang søndag :-)
Avatar billede nemlig Professor
30. december 2012 - 21:58 #7
Kan se, at tråden lukken ikke er lukket. 
Så jeg tillader mig lige at spørge lidt mere detaljeret.

Jeg har prøvet koden til funktionen, og det virker jo fint.

Men når jeg omdøber navnet på fanen, så ændres navnet ikke i den celle, hvor jeg kalder funktionen.
Er der mon en løsning på det? Jeg er godt klar at jeg bare kan opdatere cellen, men jeg vil gerne, at det skete automatisk.

Tak på forhånd og godt nytår.
Avatar billede jkrons Professor
31. december 2012 - 11:50 #8
Tilføj linjen

    Application.Volatile

Så funktionen ser sådan ud:

Function Arknavn()
    Application.Volatile
    Arknavn = ActiveSheet.Name
End Function
Avatar billede nemlig Professor
31. december 2012 - 12:06 #9
Prøver lige senere.
Tusinde tak.
Samler du point? Jeg burde jo have oprettet spørgsmålet særskilt, men gør det meget gerne, hvis du samler :)
Avatar billede jkrons Professor
31. december 2012 - 13:30 #10
Ikke nødvendigt. Jeg er stort set aldrig på Eksperten mere, fordi jeg af en eller anden grund ikke får notifikationer ved nye spørgsmål, kun ved spørgsmål, som jeg allerede deltager i.
Avatar billede nemlig Professor
01. januar 2013 - 17:58 #11
#8 Hmmm - synes ikke det virker.
Jeg har oprettet functionen under "Modules". Er det forkert?
Avatar billede jkrons Professor
01. januar 2013 - 18:53 #12
Det virker fint hos mig, og det skal ligge i et modul.
Avatar billede nemlig Professor
01. januar 2013 - 19:43 #13
Jeg har lige prøvet men en ny tom projektmappe.
På de 3 x ark, skriver jeg i celle A1 =Arknavn().
Det virker fint.
Men når jeg så omdøber fx Ark3 til Ark3-3, så ændres celle A1 til Ark3-3 på alle 3 ark. Hvis jeg så efterfølgende på Ark1 trykker F2+Enter i celle A1 for at få den til at opdatere cellen, så ændres indholdet i celle A1 til Ark1, men indholdet af celle A1 på Ark2 og Ark3-3 ændres samtidig til "Ark1".

Og har jeg fx 2 projektmapper åbne, så kan en ændring af Arknavnet i den ene projektmappe, slå igennem i den anden projektmappe, hvor functionen Arknavn() anvendes.
Avatar billede jkrons Professor
02. januar 2013 - 00:27 #14
Helt korrekt. Hvis du bruger den i mere end et ark i samme mappe, virker den ikke korrekt, da den hele tiden får værdien fra det ark, som aktuelt får nyt navn - altså det aktive ark.

Jeg ser lige på om det, du gerne vil, kan lade sig gøre.
Avatar billede nemlig Professor
02. januar 2013 - 08:34 #15
Det vil være super med en løsning, der virker, når flere ark i samme projektmappe gør brug af functionen. I mit tilfælde har jeg 10 regneark i samme projektmappe, hvor der i celle A1, på alle 10 ark, gøres brug af functionen.
Avatar billede jkrons Professor
02. januar 2013 - 18:19 #16
En lille ændring, så skulle det virke

Function Arknavn(rng)
      Application.Volatile
      Arknavn = rng.Worksheet.Name
End Function

Du skal nu angive en celle, i det pågældende ark, hvor du bruger funktionen. HVilken er ligegyldig, fx =arknavn("a1"). Du kan bruge samme celle i alle ark. Om cellen bliver brugt til noget, er ikke væsentligt, da den kun bruges her til at identificere, hvilket ark, der er tale om.
Avatar billede nemlig Professor
02. januar 2013 - 18:37 #17
Spændende, men jeg er desværre ikke helt med. Kan i hvert fald ikke få det til at fungere:

1. Den seneste VBA-kode, og KUN den seneste, har jeg lagt i et "module".
2. På arket "Ark1" angiver jeg fx i celle A1 =Arknavn("a1")

Men jeg får fejlen #Værdi!
Avatar billede jkrons Professor
03. januar 2013 - 00:06 #18
Min fejl. Der skal selvfølgelig ikke anførselstegn omkring celleadressen i regnearket. Det er kun i VBA, at man bruger det.
Avatar billede jkrons Professor
03. januar 2013 - 00:07 #19
Altså =Arknavn(A1)
Avatar billede nemlig Professor
03. januar 2013 - 08:01 #20
Sådan - så spiller det. Tusinde tak. :)
Avatar billede jkrons Professor
03. januar 2013 - 14:12 #21
Velbekomme.
Avatar billede c-lysthauge Nybegynder
15. januar 2013 - 10:05 #22
Hej jkrons

Faldt lige over denne tråd og vil prøve det af du har skrevet..
Jeg har kopieret alt det du har skrevet ind i et modul og skrevet =arknavn(A1) i celle A1, men får fejlen  #Værdi!

Vh Christian
Avatar billede skovge Novice
19. januar 2014 - 17:33 #23
>>c-lysthauge 
- det skal være =Arknavn(A1).....altså med stort A i Arknavn og ikke lille a (arknavn) som du har skrevet.
Avatar billede Slettet bruger
22. januar 2014 - 11:59 #24
Hvis formelløsning, så:

=MIDT(CELLE("filename";INDIREKTE("A1"));FIND("]";
CELLE("filename";INDIREKTE("A1")))+1;255)
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