Hej igen Søren.
Du gav mig faktisk en god ide og den ser ud til at virke.
Jeg har en fane, hvor der er en masse forskellige indstillinger.
Og her har jeg en masse forskellige celler, hvor den sætter en værdi, hvis jeg indstiller et eller andet.
Jeg kalder værdierne "Kontakter" eller "Triggere" og de er rare at have.
F.eks.
- Når jeg kører koden, der beskytter arket, sætter den værdien "Ja" i en celle.
- Når jeg fjerne arkbeskyttelsen, sætter den værdien"Nej" i samme celle.
På den måde kan jeg styre, hvordan arket skal opføre sig med en IF - THEN - ELSE.
Jeg fandt koden, der kunne vise en baggrundsfarve i en celle, når man stillede sig i den.
Og gå tilbage til den oprindelige baggrundsfarve, når man forlod cellen igen.
Nu skulle jeg så bare finde en kode, der deaktiverede popup ved højreklik på en celle og den fandt jeg også.
- Koderne nedenunder indsættes på den fane, man ønsker den skal virke på - F.eks. Ark1.
- Hvis de skal virke på hele arket og ikke kun på en fane, indsættes de i ThisWorkbook.
Når jeg tjekker CheckBoxen i arket Settings af, at den skal vise baggrundsfarve, skriver den "
Ja" i Sheets("ArkIndstil").Range("Q15").
Ellers skriver den "
Nej" i samme celle.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)'-------------------' ' Cellefarve Ja/Nej ' '-------------------' Static oPrev As Range If Sheets("ArkIndstil").Range("Q15") = "Nej" Then Exit Sub Else On Error Resume Next oPrev.FormatConditions.Delete Target.FormatConditions.Add(Type:=xlExpression, Formula1:=True).Interior.Color = vbYellow Set oPrev = Target End If End Sub |
Når jeg beskytter arket skriver den "
Ja" i Sheets("ArkIndstil").Range("Q16").
Ellers skriver den "
Nej" i samme celle.
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)'----------------------------' ' Popup ved højreklik Ja/Nej ' '----------------------------' If Sheets("ArkIndstil").Range("Q16") = "Ja" Then Cancel = True Else Cancel = False End If End Sub |
Mvh.
Ib