Avatar billede MezMarianne Nybegynder
08. december 2009 - 13:47 Der er 3 kommentarer og
1 løsning

Betinget formatering i Excel eller brug af 200 stk makroer

Jeg har et skema i Excel 2007, som skal bruges som et "tjek"-skema. Der er mange felter, der skal tages ja/nej stilling til. (Det er længere end en hjemmehjælpers kontrolprocedure for støvsugning)
Jeg vil gerne have, at der i de rækker, hvor der vælges nej, efterfølgende formateres med gråt, så man er klar over, at de uddybende spørgsmål ikke skal besvares.

Jeg har forsøgt med to muligheder:

Afkrydsningsfelt, der bliver knyttet til en makro for lige præcis den pågældende linje.

Sub Afkrydsningsfelt221_Klik()
'
' Afkrydsningsfelt221_Klik Makro
'

'
    Range("F147:N147").Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = -0.149998474074526
        .PatternTintAndShade = 0
    End With
End Sub

Denne makro kan jeg ikke kopiere. Så er det den samme linje, som bliver formatteret og ikke den, der er ud for den pågældende afkrydsningsboks.

Endvidere bliver linjen formateret uanset, om jeg sætter eller fjerner fluebenet.

Et tredje problem med dette er, at afkrydsningsboksene ikke er knyttet til cellerne. De hopper op og ned, når der tilføjes nye rækker.  Så passer makroen ikke til den række-linje, afkrydsningsboksen er på. Hvis jeg laver en cellereference, står der pludselig FALSK eller SAND i cellen.

En anden mulighed er at have en liste med valget mellem ja og nej. Så ville jeg gerne have, at de følgende felter i rækken blev formateret med grå farve, hvis der står nej i feltet. Kan jeg bruge betinget formatering til dette? I givet fald hvilken af mulighederne? Betinget formatering baseret på en formel i stil med =HVIS(D174;"Nej") så formateres de efterfølgende celler med grå. Dette kan jeg dog ikke få til at virke. Sikkert fordi HVIS argumentet er forkert formuleret.
Avatar billede panebb Novice
08. december 2009 - 13:59 #1
din formel i betinget formattering bør nok se sådan ud
=(D174="nej")
Avatar billede rosco Novice
08. december 2009 - 16:22 #2
Til løsningen med Ja/Nej

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("A1:A95"), Target) Is Nothing Then
Application.ScreenUpdating = False
'ActiveSheet.Unprotect
    With Target
    Select Case Target.Value
'Et "Nej" i kolonne A, farver kolonne B til G grå i samme række
'Resize(,6) udvider et range til 6 kolonner
    Case "Nej"
        ActiveCell.Offset(-1, 1).Resize(, 6).Interior.ColorIndex = 15
        ActiveCell.Offset(-1, 1).Resize(, 6).Font.ColorIndex = xlAutomatic
    Case Else
        ActiveCell.Offset(0, 1).Resize(, 6).Interior.ColorIndex = xlNone
        ActiveCell.Offset(0, 1).Resize(, 6).Font.ColorIndex = xlAutomatic
    End Select
 
End With
End If
Application.ScreenUpdating = True
'ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:=True
End Sub
Avatar billede MezMarianne Nybegynder
08. december 2009 - 17:07 #3
Tak til begge. Jeg så - og brugte Panebb's løsning først. Med et $tegn foran D virker det helt perfekt.
Det var lige præcis det, jeg ville, men bare ikke lige kunne få vendt ordentligt.
Avatar billede panebb Novice
09. december 2009 - 07:55 #4
selv tak :-)
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