Avatar billede kimbhenriksen Nybegynder
02. juni 2009 - 13:37 Der er 9 kommentarer og
1 løsning

programkode for faner

Inspireret af anden tråd, har jeg smidt en programkode ind i nogle faner, så fanen tager navn efter en celler. Dette virker når jeg kopierer koden ind, men lukker jeg regnearket og åbner det igen, virker koden ikke længere. Hvad skal jeg køre for at koden altid holdes "aktiv". Jeg har forsøgt at ændre indstillinger for makroer, men jeg synes ikke at det virker. Koden er:

Private Sub Worksheet_Change(ByVal Target As Range)

Sheets(ActiveSheet.Name).Name = Range("c1")

End Sub
Avatar billede lerskov Praktikant
02. juni 2009 - 18:22 #1
Private Sub Worksheet_change(ByVal Target As Range)

ActiveSheet.Name = Range("c1")

End Sub
Avatar billede kimbhenriksen Nybegynder
03. juni 2009 - 11:20 #2
Hov, der var jeg vist lidt hurtigt til at give point.

Jeg synes ikke helt det virker. Koden synes at virke hvis tallet i c1 er tastet. Men i mit tilfælde linkes der til c1 fra anden celle i andet ark, hvor cellenavnet fremgår. Hvad skal jeg gøre?
Avatar billede lerskov Praktikant
03. juni 2009 - 20:22 #3
Forstår ikke helt.

Hvad står der i "c1", ligger der en formel??
Avatar billede kimbhenriksen Nybegynder
04. juni 2009 - 10:43 #4
I c1 hentes der et tastet tal fra en anden celle i anden fane. I dette tilfælde hedder fanden FORSIDE. Derfor hedder formlen =+FORSIDE!B2
Avatar billede kimbhenriksen Nybegynder
04. juni 2009 - 10:44 #5
fanen ikke fanden.. selvom fanden sandsynligvis har en finger med i spillet i forhold til den opgave jeg sidder med...
Avatar billede lerskov Praktikant
04. juni 2009 - 18:45 #6
Jeg formoder ikke at alle ark skal hedde hvad der står i "FORSIDE!B2". Prøv derfor denne. Den vil opdater hvis du ændre referencen i "C1" ELLER hvis du ændre i indholdet i den celle "C1" referere til i andet ark, og du vender tilbage til arket hvor programkoden ligger.. giver det mening??

Private Sub Worksheet_Activate()

ActiveSheet.Name = Range("c1").Value

End Sub

Private Sub Worksheet_change(ByVal Target As Range)

ActiveSheet.Name = Range("c1").Value

End Sub
Avatar billede lerskov Praktikant
08. juni 2009 - 20:53 #7
Var det noget i den retning du søgte??
Avatar billede kimbhenriksen Nybegynder
17. juni 2009 - 10:26 #8
Hej lerskov,

Hov, havde slet ikke set at du havde svaret.

Men jeg kan se at koden virker meget bedre, end de tidligere. Et problem er dog stadigt, at jeg ligesom skal klikke på fanen, før koden opdaterer fanenavnet. Kan dette undgås?

På forhånd tak!
Avatar billede lerskov Praktikant
18. juni 2009 - 21:36 #9
Det kan sikkert godt løses, men hvor komplekst er dit regne ark?
Avatar billede kimbhenriksen Nybegynder
25. juni 2009 - 11:44 #10
Jeg har flere regneark, hvor jeg skal have løst dette problem. I regnearkene er der ca. 10-20 faner med tastede tal. Disse tal bliver linket til endnu en fane i samme regneark, som samler oplysningerne. Disse tal linker videre til et helt andet regneark. Fra dette andet regneark hentes en nummerering, tilbage til samlefanen i det oprindelige ark, som så linker tilbage til de mange ark, med de tastede oplysninger. Hver eneste fane får således en nummerering, hentet fra det "andet ark" og derefter hentet fra samlefanen. Udfordringen er således at få denne nummerering til at fremgå af fanenavnet.

Giver det mening?

Regnearkene er altså ikke deciderede komplekse, men der linkes lidt meget på kryds og tværs. Det oprindelige tastede tal fremgår altså lidt forskellige steder.

Håber du kan hjælpe :-)
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