Avatar billede lunddata Nybegynder
14. februar 2006 - 16:04 Der er 22 kommentarer og
1 løsning

Farve baggrund med makro

Kan ikke lige finde svar i tidligere indlæg under Excel.

Celle d2 = 1
Celle e2 = 2
Celle f2 = 3
osv.

Jeg bruger betinget formatering til at lave ramme om cellerne (d2:m2) når en bestemt betingelse er opfyldt.
Nogle af disse rammer skal have baggrundsfarve såfremt cellens værdi er mindre end værdien i celle c1.
Altså farve d2, såfremt d2<=c1. ... farve e2, såfremt e2<=c1
Hvordan klarer jeg den med baggrundsfarven?
Avatar billede overchord Nybegynder
14. februar 2006 - 17:15 #1
I din betingede formatering er betingelse 1 saa sat til:
cellevaerdi er -- mindre end eller lig med -- =$C$1
Naar den er sat gaar du ned og trykker format-knappen (ved ikke om det er det den hedder paa dansk, men lige til hoejre for hvor cellen med "AaBbCc..." vises). Naar du trykker paa denne knap kommer den normale formatteringsboks op hvor du kan vaelge baggrundsfarve (tredje tab, yderst til hoejre).
Avatar billede lunddata Nybegynder
14. februar 2006 - 17:26 #2
Tror ikke jeg har udtrykt mig klart!
Nedenstående værdier er på forhånd givet:
Celle d2=1
celle e2=2
celle f2=3 osv


Det jeg ønsker er en makro som automatisk farver felterne afhængig af om felterne er mindre end eller lig med celle c1.

Værdien i celle c1 genereres tilfældigt med slump inden for et vist interval.
Men altså det er en makro jeg er ude efter til at farve i området(d2:m2)!!!
Avatar billede lunddata Nybegynder
14. februar 2006 - 17:27 #3
Jeg skulle nok ikke have blandet betinget formatering ind i mit spm.
Avatar billede overchord Nybegynder
14. februar 2006 - 17:32 #4
Men det kan du da stadig bruge betinget formatering til. Naar indholdet af c1 aendre skulle den betingede formattering stadig aendre sig efterfoelgende.
Avatar billede lunddata Nybegynder
14. februar 2006 - 17:39 #5
Jeg mener ikke at kunne bruge den betingede formatering til begge dele,
idet jeg har brugt den betingede formatering til at hente værdien i en anden celle (i dette tilfælde celle b1) end den jeg gerne vil bruge i makroen.


Jeg sætter rammer i nogle celler i den betingede formatering.
I makroen bliver kun en del af rammerne udfyldt med baggrundsfarve,idet betingelsen kommer fra celle c1
Avatar billede mvhansen Nybegynder
14. februar 2006 - 17:40 #6
Hej lunddata

prøv at se her
du kan godt bruge betinget formatering
http://www.michael.hansen7500.dk/excel/Mappe1.xls

mvh

mvhansen
Avatar billede mvhansen Nybegynder
14. februar 2006 - 17:58 #7
Ny hvor du henter fra B1
http://www.michael.hansen7500.dk/excel/Mappe1_NY.xls

mvh

mvhansen
Avatar billede lunddata Nybegynder
14. februar 2006 - 18:11 #8
Ovenstående løser ikke mit spm.
Jeg forstår godt den betingede formatering. Men jeg får jo ikke udfyldt et vilkårligt antal rammer.
Antal rammer er givet ud fra b1
Antal farvede celler er givet ud fra c1

hvis b1 = 8 får jeg 8 rammer som jeg fint kan finde ud af med betinget formatering.
hvis c1 = 3 skal der farves 3 af rammerne

Opgaven med baggrundsfarvning må kunne løses med en makro hvilket egentlig også var overskriften til mit spm.
Avatar billede mvhansen Nybegynder
14. februar 2006 - 18:18 #9
ok det er ikke baggrundsfarvning du er ude efter
men farven på rammerne

hvis ikke så se bort fra denne  Kommentar

mvh

mvhansen
Avatar billede excelent Ekspert
15. februar 2006 - 16:52 #10
brug betinget formatering sådan :
Avatar billede excelent Ekspert
15. februar 2006 - 17:06 #11
Idet du allerede har anvendt betinget formatering på disse celler,
skal du blot tilføje en betingelse mere i hver celle d2 til m2 :

klik marker celle d2, vælg Betinget formatering i menuen Formater
Klik på Tilføj >>
I ruden 'Betingelse 2' vælger du 'Celleværdi er'
I næste rude vælger du <=  eller den betingelse du vil anvende på aktuel
celle,
I ruden til højre skriver du =$c$2
Klik på 'Formater....' vælg den farve du ønsker som baggrund og klik OK
eller hvad du nu vil gøre ed cellen.
Avatar billede excelent Ekspert
15. februar 2006 - 17:15 #12
rettelse: det var vist celle c1 du testede på så
=$c$2  skal være  =$c$1
Avatar billede excelent Ekspert
15. februar 2006 - 17:47 #13
rettelse : så dee :-)  det ser ud til du har ret, vba er sagen her

er ikke nogen vba haj, så lad os håbe en expert komer forbi
men følgende makro farver celle D2 grøn, hvis værdi i celle D2 <= C1
resten overlader jeg til experterne :-)


Sub Makro2()
' Makro2 Makro
' Genvejstast:Ctrl+n
    If Range("d2").Value <= Range("c1").Value Then
    Range("D2").Select
    Selection.Interior.ColorIndex = 4
End If
End Sub
Avatar billede excelent Ekspert
15. februar 2006 - 19:58 #14
well har en forhåbentlig brugbar løsning her, men kønt er det ikke :-)

Højreklik på fanen til arket hvor du har ovenståede visning,-
vælg 'Vis programkode'
indsæt følgende kode
når du ændrer i celle c1, opdaters farvelægning.

Private Sub Worksheet_Change(ByVal Target As Range)
    farve = 4: stk = Range("c1").Value
    Range("d2:m2").Select
    Selection.Interior.ColorIndex = 0
    If Range("d2").Value <= stk Then
    Range("D2").Select
    Selection.Interior.ColorIndex = farve
    Range("c1").Select
    If Range("e2").Value <= stk Then
    Range("e2").Select
    Selection.Interior.ColorIndex = farve
    Range("c1").Select
    If Range("f2").Value <= stk Then
    Range("f2").Select
    Selection.Interior.ColorIndex = farve
    Range("c1").Select
    If Range("g2").Value <= stk Then
    Range("g2").Select
    Selection.Interior.ColorIndex = farve
    Range("c1").Select
    If Range("h2").Value <= stk Then
    Range("h2").Select
    Selection.Interior.ColorIndex = farve
    Range("c1").Select
    If Range("i2").Value <= stk Then
    Range("i2").Select
    Selection.Interior.ColorIndex = farve
    Range("c1").Select
    If Range("j2").Value <= stk Then
    Range("j2").Select
    Selection.Interior.ColorIndex = farve
    Range("c1").Select
    If Range("k2").Value <= stk Then
    Range("k2").Select
    Selection.Interior.ColorIndex = farve
    Range("c1").Select
    If Range("l2").Value <= stk Then
    Range("l2").Select
    Selection.Interior.ColorIndex = farve
    Range("c1").Select
    If Range("m2").Value <= stk Then
    Range("m2").Select
    Selection.Interior.ColorIndex = farve
    Range("c1").Select
End If: End If: End If: End If: End If: End If: End If: End If: End If: End If

End Sub
Avatar billede excelent Ekspert
15. februar 2006 - 20:46 #15
Lidt kortere :
Private Sub Worksheet_Change(ByVal Target As Range)
    farve = 4: stk = Range("c1").Value
    Range("d2:m2").Select
    Selection.Interior.ColorIndex = 0: Range("c1").Select
    Dim c As Range
   
    For Each c In Range("d2:m2")
      v = c.Value
      If v <= stk Then
      c.Interior.ColorIndex = farve
    End If
Next
End Sub
Avatar billede lunddata Nybegynder
15. februar 2006 - 21:38 #16
excelent:

Du er helt med på det jeg ønsker. Rigtig flot!!!!

Det virker ovenud perfekt med det du skrev 15/02-2006 17:47:09, men hvordan får jeg den sidste 15/02-2006 20:46:20 til at virke?
Avatar billede excelent Ekspert
15. februar 2006 - 21:49 #17
ok skal prøve at forklare, men det er lavet ud fra hvordan
jeg tror dit ark ser ud, så er ikke helt sikke:
Avatar billede excelent Ekspert
15. februar 2006 - 21:57 #18
Start med at gøre det aktuelle ark aktivt, ved at klikke på det's fane
kopier subben herover fra kl. 20:46:20 (CTRL+c)
Højreklik så på aktuel ark-fane, og vælg 'Vis programkode'
Indsæt den kopierede sub (CTRL+v)

når du så ændrer værdien i celle c1, farvelægges de af cellerne
i området d2:m2 som er mindre eller lig med værdien i celle c1
Avatar billede excelent Ekspert
15. februar 2006 - 22:03 #19
jeg har valgt farvekode 4 (grøn)
du kan selv ændre dette tal så farven passer til dit behov
'farve = ? < dit farvevalg'  0= ingen farve, prøv dig frem
jeg kan også ændre koden, så du kan vælge farve via en celle
i regnearket.
Avatar billede lunddata Nybegynder
15. februar 2006 - 22:18 #20
Fantastisk flot arbejde.
Jeg synes at 30 point for din STORE indsats er alt for lidt. Jeg vil gerne honorere mere...
Avatar billede excelent Ekspert
15. februar 2006 - 22:21 #21
30 point er helt ok jeg fik lært at lave en fornuftig
løkke, så jeg har også fået noget ud af denne udfordring
v.h.Poul
Avatar billede lunddata Nybegynder
15. februar 2006 - 22:27 #22
Det skal ikke være nogen hemmelighed, at jeg fint kan bruge svarene til at udarbejde opgaver til brøkberegning, idet rammerne lavet i betinget formatering anskueliggør nævneren i brøk og din løsning bruges til at farve tælleren.
Jeg kan så ved hjælp af slump danne mange forskellige opgaver.
TUSIND TAK! for hjælpen.
Avatar billede excelent Ekspert
15. februar 2006 - 22:30 #23
velbekomme
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