Avatar billede martin_g Nybegynder
26. september 2005 - 13:46 Der er 6 kommentarer og
1 løsning

Betinget farve på figur afh af celleværdi

Hej,

Jeg overvejer om man kan få excel til at give et objekt (for eksempel en tegnet firkant) baggrundsfarve efter en celleværdi ?

mvh
Martin
Avatar billede beanbag Nybegynder
26. september 2005 - 17:40 #1
Hmn, du kan skrive en makro der ændrer farven på en firkant. Makroen kan initieres af forskellige ting, bla. også hvergang der sker ændringer i arket, så farveskiftet bliver helt automatisk.

Jeg forestiller mig at farvevalget bliver afhængig af værdien i en enkelte (skjult) celle, hvor værdien i cellen bestemmes af de faktorer som du nu mener skal være afgørende for hvilken farve der er tale om.

Jeg prøver mig lige lidt frem...
Avatar billede beanbag Nybegynder
26. september 2005 - 18:12 #2
Denne kode skal sættes ind så den hører til det sheet du har figuren på.
Hver gang du ændrer noget i det sheet vil makroen køre og ændre farven hvis nødvendigt.

Højreklik på sheet-tab > View code > paste koden ind i den højre del af skærmbilledet.

_Inden_ du gør det skal du tegne en figur, og give den et navn eller ændre navnet i koden så de passer sammen.
Du ser/ændrer navnet på figuren ved at vælge den med musen og se til venstre for formel-linien hvor cellereferencen normalt står. Bare marker det der står og skriv noget andet. Koden kan du ændre her inden du copy/paster den ind.

I dette eksempel kan du skifte mellem 3 farver ved at skrive 1, 2 eller 3 i celle A1. Hvis du skriver noget andet bliver figuren sat til "ikke-synlig" (det kan ændres). Du kan ændre værdierne i koden til andre farver, lave flere muligheder osv. men dette burde give dig en ide om det. Ellers spørg.

Hvis du skal bruge en hel bestemt farvekode eller linie rundt om boksen, kan du optage en makro hvor du ændrer farven til det ønskede. Bagefter kan du aflæse det rigtige tal i den optagede makro (ALT+F11)

Jeg håber du kan bruge det

have fun

-----------------------

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Number
Number = Range("a1").Value
Select Case Number
Case 1
    With ActiveSheet.Shapes("Rectangle 1")
    .Visible = msoTrue
    With .Fill
      .Solid
      .ForeColor.SchemeColor = 44
      .Transparency = 0.8
    End With
    End With
Case 2
    With ActiveSheet.Shapes("Rectangle 1")
    .Visible = msoTrue
    With .Fill
      .Solid
      .ForeColor.SchemeColor = 34
      .Transparency = 0.5
    End With
    End With
Case 3
    With ActiveSheet.Shapes("Rectangle 1")
    .Visible = msoTrue
      With .Fill
      .Solid
      .ForeColor.SchemeColor = 24
      .Transparency = 0.3
      End With
    End With
Case Else
    With ActiveSheet.Shapes("Rectangle 1")
      .Visible = msoFalse
    End With
End Select
End Sub
Avatar billede martin_g Nybegynder
27. september 2005 - 09:20 #3
Hej,

Det lyder sgu præcis som det der skal til...jeg tester lige, og smider så nogle point ! Vidste ikke at man bare kunne navngive objekter, men det er jo snedigt...
Avatar billede pgroen Nybegynder
28. september 2005 - 14:31 #4
Eller meget nemmere:

Menupunkt "Formater" --> "Betinget Formatering..."
Avatar billede beanbag Nybegynder
28. september 2005 - 17:05 #5
pgroen -> øhh, jaehh men hvordan havde du tænkt dig at det skulle fungere på et objekt (f.eks. en tegnet firkant)?
Avatar billede pgroen Nybegynder
29. september 2005 - 08:33 #6
Øh, hvis jeg nu startede med at læse spørgsmålet ordentligt...
Jeg synes nok, det var for nemt, undskyld :-)
Avatar billede martin_g Nybegynder
29. september 2005 - 10:52 #7
Tak for hjælpen - det fungerer perfekt !
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