Avatar billede fastwrite Nybegynder
21. marts 2008 - 12:37 Der er 12 kommentarer og
1 løsning

Opdatere mit sheet name når en værdi ændrer sig

Hej igen.

Jeg har i en celle C2 en slå.op værdi der viser resultatet - fx "MARTS"

I programkoden til det aktuelle sheet (højreklikker på fanebladet og vælger vis programkode), har jeg følgende kode:

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
ActiveSheet.Name = Range("C2").Value
End Sub

Den gør det at den ændrer mit sheet navn til den værdi der står i C2.

Problemet er så, at når værdien i C2 bliver ændret, bliver sheet navnet ikke ændret automatisk. Jeg skal lige klikke på C2, trykke F2 og trykke enter, så bliver sheet navnet også ændret.

Kan det ikke gøres automatisk, så når celleværdien i C2 bliver ændret, bliver sheet navnet også ændret med det samme?
Avatar billede word-hajen Nybegynder
21. marts 2008 - 12:54 #1
Du skal have fat i change-eventet på det ark, hvor du reelt ændrer værdien. Hvilket ark/hvilken celle ændrer du reelt i?
Avatar billede kabbak Professor
21. marts 2008 - 13:21 #2
du skal nok fange den på det X du skriver i B kolonnen, den fanger IKKE at en formel ændrer sig.

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Not Intersect(Target, Range("B1:B12")) Is Nothing And UCase(Target) = "X" Then
        ActiveSheet.Name = Range("C2").Value
    End If
End Sub
Avatar billede fastwrite Nybegynder
21. marts 2008 - 14:13 #3
kabbak - jeg vil lige prøve dit forslag.
word-hajen - det er samme ark hvor cellen bliver ændret. Selve cellen henter værdien fra et andet sheet.
Avatar billede fastwrite Nybegynder
21. marts 2008 - 14:15 #4
kabbak - jeg tror ikke helt jeg har fanget hvad du mener.

I sheet2 har jeg det sheet der skal ændres til den værdi der står i C2. C2 cellen henter værdien ved en slå.op fra et andet sheet (samme regneark).

Hvor skal jeg indsætte din kodestump? og B1:B12 - er det det område hvor mit X er?
Avatar billede kabbak Professor
21. marts 2008 - 14:31 #5
Koden skulle erstatte den du har vist øverst.

Jeg mente at du mener at arket skulle skifte navn, efter hvor du satte dit X, men det er det måske ikke ?

Så det var en fortsættelse af dit andet spørgsmål om måneder
Avatar billede kabbak Professor
21. marts 2008 - 14:38 #6
Koden skulle erstatte den du har vist øverst.

Jeg mente at du mener at arket skulle skifte navn, efter hvor du satte dit X, men det er det måske ikke ?

Så det var en fortsættelse af dit andet spørgsmål om måneder
Avatar billede fastwrite Nybegynder
22. marts 2008 - 01:15 #7
ahh - ok. Det med X'et er på et andet sheet, men samme regneark.

Jeg vil prøve at se om det virker.

Men jeg har faktisk TO X kolonner - en for måned og en for år - er det nemt at rette din kode til?
Avatar billede fastwrite Nybegynder
22. marts 2008 - 11:09 #8
Jeg kan ikke få den til at virke. Sheet2 - er det navn der har programkoden, og derfor det navn der skal ændres.

Sheet1 har jeg E11:E21 hvor jeg kan sætte et X. Men i din programstump er der ikke nogen henvisning til sheet1 - hvordan gør man det, så den ved hvorfra den skal kigge i E11:E21?
Avatar billede kabbak Professor
23. marts 2008 - 21:48 #9
Sæt denne kode i sheets1

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Not Intersect(Target, Range("B1:B12")) Is Nothing And UCase(Target) = "X" Then
        Sheets(2).Name = Range("C2").Value
    End If
End Sub

og den vil ændre navnet på sheet2
Avatar billede kabbak Professor
23. marts 2008 - 21:50 #10
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Not Intersect(Target, Range("E1:E12")) Is Nothing And UCase(Target) = "X" Then
        Sheets(2).Name = Range("C2").Value
    End If
End Sub

denne kører på E1 til E12
Avatar billede fastwrite Nybegynder
02. april 2008 - 01:48 #11
kabbak - smid et svar.
Avatar billede kabbak Professor
02. april 2008 - 08:19 #12
et svar ;-))
Avatar billede fastwrite Nybegynder
17. september 2008 - 01:23 #13
og point.. sorry der skulle gå så lang tid..
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