Avatar billede mvest Nybegynder
15. april 2009 - 08:26 Der er 7 kommentarer

Udvidet brug af betinget formatering, (med makro?)

Jeg har brug for hjælp til følgende (Tror det kun lade sig gøre ved brug af programmering:

Hvis celle c2=1, så skal celle A1 vise den tekst, der står i b1, men hvis c2=0, skal jeg selv kunne skrive i celle A1. - Dvs. ligesom man kan bruge betinget formatering hvor jeg istedet vil have cellen til at vise en anden celles indhold.

Håber, det kan lade sig gøre.

På forhånd tak.
MVest.
Avatar billede excelent Ekspert
15. april 2009 - 10:03 #1
Indsæt denne i arket kodemodul

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("C2")) Is Nothing Then Exit Sub
If Target = 1 Then Range("A1").Formula = "=B1"
End Sub
Avatar billede jkrons Professor
15. april 2009 - 10:05 #2
Hvornår skal betingelsen indtræffe. Når du taster i A1 eller i C2?

Denne kode gør,. at når du taster i A1 vil den undersøge hvade der står i C2 og enten beholde din indtastning eller sætte den til det, der står i B1:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
    If Range("c2").Value = 0 Then
        Target.Value = Target.Value
    Else
        Target.Value = Range("b1").Value
    End If
End If
End Sub

Denne kode virker, når du taster i C2. Tadter du 0 tømmes A1, så du selv kan taste. Taster du 1 skrives værdien fra B1.
Avatar billede jkrons Professor
15. april 2009 - 10:07 #3
Men hverken min eller Excelents løsning forhindrer dig i at tyaste noget i A1 selv om detr står 1 i C2.
Avatar billede excelent Ekspert
15. april 2009 - 10:31 #4
Hvis der skal tages højde for dette, så prøv denne

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("C2") = 1 Then Range("A1").Formula = "=B1"
End Sub
Avatar billede mvest Nybegynder
17. april 2009 - 13:11 #5
Tak for jeres hurtige respons.

Har ikke haft tid til at se på jeres hjælp endnu, desværre.

Skriver tilbage senest mandag.

Tak for det.
Avatar billede mvest Nybegynder
20. april 2009 - 20:43 #6
Betingelsen skal meget gerne kunne indtræffe hver gang c2 skifter til celleværdien 1, således celle a1 vil blive overskrevet, hvis c2 ændrer sig til værdien 1.

Hvis derimod c2 skifter til celleværdien 0, skal celle A1 slette teksten fra celle b1, så der kan blive plads til, at jeg selv kan skrive i cellen.

Hvis ikke arket kan "opdatere" sig selv, kan man så i givet fald lave noget i stil med "F9-knappen", hvor man laver en ny simulering, så hvis jeg trykker på f.eks. F9-knappen, så vil cellerne blive opdateret??
Avatar billede mvest Nybegynder
23. april 2009 - 11:12 #7
Hej igen.

Med andre ord har jeg brug for det samme, som jeg kan med funktionen betinget formatering, men istedet for kun at kunne ændre farve og skrift mv, skal cellen kunne vise en anden celles indhold, når betingelsen er opfyldt samtidig med, at der kan skrives i cellen, når betingelsen ikke er opfyldt.

Håber, I kan hjælpe!

På forhånd tak.
Mvest.
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