Avatar billede fyrsten25 Praktikant
19. marts 2015 - 08:59 Der er 5 kommentarer og
1 løsning

Redigere en værdi i to forskellige celler

Hej

Nogen der ved om det er muligt at redigere en værdi i to forskellige celler, i to forskellige ark.

Eksempelvis "ark 2, A2" = "ark 1, A2" og omvendt. Dvs. når jeg ændre værdien i "ark 2 A2", så ændres værdien i "ark 1, A2", og det samme gælder hvis jeg ændre værdien i "ark 1, A2", så ændres værdien i "ark 2, A2".

Ved ikke om det er muligt med denne funktion:
Sheet("Sheet2").Range("A2").Value = "Sheet("Sheet1").Range("A2")"

Sheet("Sheet1").Range("A2").Value = "Sheet("Sheet2").Range("A2")"
Avatar billede garrett Seniormester
19. marts 2015 - 09:17 #1
En hurtig løsning kunne være at smide dette ind i koden for dit 'Sheet1':
Private Sub Worksheet_Change(ByVal Target As Range)
    ActiveWorkbook.Sheets("Sheet2").Range(Target.Address) = Target.Value
End Sub
Avatar billede fyrsten25 Praktikant
19. marts 2015 - 10:30 #2
Jeg har allerede en worksheet_change der starter et modul. Hvordan kæder jeg denne kode sammen med den?

Private Sub Worksheet_Change(ByVal Target As Range)
    NamesWS
    ActiveWorkbook.Sheets("Sheet2").Range(Target.Address) = Target.Value
End Sub
Avatar billede garrett Seniormester
19. marts 2015 - 11:44 #3
Det skulle være nok at have denne linie et sted i din Worksheet_Change sub. Alt efter hvad din "NamesWS" gør ville jeg vælge at have den som den første linie.
ThisWorkbook.Sheets("Sheet2").Range(Target.Address) = Target.Value

Har lige rettet ActiveWorkbook til ThisWorkbook for en sikkerheds skyld.
Avatar billede fyrsten25 Praktikant
19. marts 2015 - 11:51 #4
Ok.

Den bliver ved med at melde fejl. Hvis nu jeg skal udspecificerer hvilken celle jeg præcis ønsker dette skal gælde for i hvert ark, hvordan skal jeg så lave koden?
Avatar billede garrett Seniormester
19. marts 2015 - 12:21 #5
Så kan du lave en simple if-sætning der tjekker Target.Address og så kun kalde ovenstående linie hvis den matcher. Hvis du får fejl på det nu kan det skylde at dit destinationsark hedder noget andet end "Sheet2" f.eks.
  If Target.Address = "$A$5" Then
      ThisWorkbook.Sheets("Sheet2").Range(Target.Address) = Target.Value
  End If

Hvis det er en hel Range du vil have det til at virke på skal kan du kaste et blik på Intersect funktionen.
Avatar billede fyrsten25 Praktikant
19. marts 2015 - 13:07 #6
Så fik jeg den til at virke. Det hjælp at skrive det reelle navn. Kan dog se at man kun kan ændre cellens værdi fra ark 1. Er der en måde hvor på man både kan ændre værdien som lige nu, men hvor man samtidig kan ændre den i ark 2 os?

Tror lige jeg kigger lidt på intersect ift. hvilke celler jeg ønsker den skal påvirke.
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

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