Ikonsæt i betinget formatering - Relative referancer
Hej
Jeg har til privaten lavet et budget og regnskabsskema.
Jeg er lige skiftet til den "nye" Excel udgave fra 2007. Her kan man bruge ikonsæt til betinget formatering.
Mit problem er at når jeg har oprettet en regel i en celle så kan jeg ikke kopier det til resten af arket. Den skriver at man ikke kan lave relative referencer i betinget formatering.
Jeg ønsker bruge et ikonsæt til at vise om cellens værdi er blevet større eller mindre end budgetteret. eksempel:
Celle C4 er formateret som følgende: rød pil: når værdien er > $C$73 gul pil: når værdien er = $C$73 grøn pil: når værdien er < $C$73
Denne formatering ønsker jeg at kopier til dele af arket med formatpenslen. Men det kan Excel ikke. For celle C5 skal den sammenligne med celle C75, men den låser sig fast til celle C73.
Jeg kan godt få det til at fungere med farvning af cellerne - øv.
Er der nogen der kender en smutvej eller det ikke kun den hårde måde og oprette en regel for hver eneste celle?
Du skal gå ind i formateringen og ændre den manuelt således at du fjerner "$" tegnene. Så virker formateringen som normale funktioner når du trække dem rundt. Det kan medvirke til at du skal lave nogle forskellige, da det er C4's farve der er bestemt af C73 og C5's farve af C75.
Det kan jeg ikke - så kommer der en fejlmeddelelse der sige at man ikke kan bruge relative referencer i betinget formatering.
Til Excelent
De skal ikke farvelægges. Det kan jeg godt få den til. I stedet for farver ønsker jeg at bruge ikonerne. Her er et eksempel på hvilke celler der skal samlignes
(B4 samlignes med B73) (C4 med C73) (D4 med D73).....(M4 med M73) (B5 samlignes med B74) (C5 med C74) (D5 med D74).....(M5 med M74) . . . . (B58 samlignes med B127) (C58 med C127) (D58 med D127).....(M58 med M127)
Hvis B4<B73 grøn pil Hvis B4=B73 gul pil Hvis B4>B73 rød pil
Ja jeg er ikke en haj til dette macro excel men synes det er sjovt. Her er hvad jeg har produceret indtil videre:
Sub formatering() 'Sletter alt tidligere format Cells.FormatConditions.Delete 'Definerer variable Dim cfIconSet As IconSetCondition 'Nummer for kolonne hvor formateringen starter: Dim StartColumn As Integer 'Nummer for kolonne hvor den slutter: Dim EndColumn As Integer 'Nummer for første række der skal have formateringen: Dim StartFormatRow As Integer 'Nummer for sidste række der skal have formateringen: Dim EndFormatRow As Integer 'På baggrund af denne start række: Dim StartConditionRow As Integer
'Sætter værdierne for ovenstående variable: StartColumn = 1 EndColumn = 3 StartFormatRow = 3 EndFormatRow = 4 StartConditionRow = 1 'Kører rækkerne igennem Do While StartColumn - EndColumn - 1 < 0 RunningRow = StartFormatRow RunningConditionRow = StartConditionRow 'Kører kolonnerne igennem Do While RunningRow - EndFormatRow - 1 < 0 'Vælger den celle der skal formateres: Cells(RunningRow, StartColumn).Select 'Gør klar til formateringen(Dette er recorded): Selection.FormatConditions.AddIconSetCondition Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority With Selection.FormatConditions(1) .ReverseOrder = False .ShowIconOnly = False .IconSet = ActiveWorkbook.IconSets(xl3Arrows) End With With Selection.FormatConditions(1).IconCriteria(2) .Type = xlConditionValueNumber .Value = Cells(RunningConditionRow, StartColumn) .Operator = 7 End With With Selection.FormatConditions(1).IconCriteria(3) .Type = xlConditionValueNumber .Value = Cells(RunningConditionRow, StartColumn) .Operator = 5 End With RunningRow = RunningRow + 1 RunningConditionRow = RunningConditionRow + 1 Loop StartColumn = StartColumn + 1 Loop End Sub
Med dette stykke kode laver den dog kun formatering baseret på værdien af cellen som den henter ud. Altså hvis C4 har værdien 5 bliver denne hentet ud og brugt som reference til formateringen. Jeg kan ikke lige få den til at skrive cellens navn vha. dette, men hvis du kører scriptet hver gang du har lavet ændringer giver det ingen problemer... Det holder bare ikke i min verden, men ville lige dele det hvis der nu var en der havde løsningen på det.
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.