25. august 2010 - 09:39Der er
9 kommentarer og 1 løsning
VBA med sandt og falsk
Jeg har et regneark hvor der i kolonne K enten står SANDT eller FALSK, i de forskellige celler, udfra dette skal jeg i kolonne G have markeret hver celle gul, hvis der står SANDT i kolonne K og den skal forblive normal, hvis der står FALSK. Rækkerne hører sammen, så eks. G7 skal referere til K7! Jeg har prøvet lidt med VBA, men er desværre ikke kommet frem til noget brugbart! Koden skal gælde for hele regnearket.
Public Sub testSandFalsk() Dim cc For Each cc In Columns("K").Cells If cc <> "" Then If cc.Value = "True" Then cc.Offset(0, -4).Interior.ColorIndex = 6 End If End If Next cc End Sub
PS: Der burde nok være en stopklods- men prøve ovenstående.
Jeg kan desværre ikke få den til at skifte farve, men den viser da heldigvis heller ikke fejl i koden - det gjorde min egen, så der er vist ingen ide i at jeg viser den her :-)
Hvis du markere hele kolonne G, også går op i betinget formatering (i 2003 finder du den under Formater - Betinget formatering...)
Her kan du så lave en regl som gør, at hvis cellen tilsvarende i kolonne K er SAND, så skal den formatere din G celle til at være gul.
Dette gør du på følgende måde: Ændre Celleværdien er til Formlen er og i feltet skriver du følgende: =K1=SAND
Derefter trykke du på formater, så kan du vælge helt præcis hvordan celle skal se ud, når K celle er SAND ... evt. også om der skal være kanter på osv.
da det kun er ved SAND der skal ske noget, så behøver du ikke også at lave en for falsk værdien.
Private Sub worksheet_change(ByVal Target As Range) Rem Række skal være 11 eller derover + Rem Hvis der sker ændring i kolonne F eller G test kolonne K for SAND/FALSK If Target.Row >= 11 And (Target.Column = 6 Or Target.Column = 7) Then testKolonneK Target.Row End If
If Intersect(Target, Range("B:B")) Is Nothing Then Exit Sub If IsNumeric(Target) Then Cells(Target.Row, "D") = Now End If End Sub Private Sub testKolonneK(række) If Range("K" & række) = "True" Then Range("G" & række).Interior.ColorIndex = 6 Else Range("G" & række).Interior.ColorIndex = xlColorIndexNone End If End Sub
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.