Avatar billede scheler Novice
25. august 2010 - 09:39 Der 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.
Avatar billede supertekst Ekspert
25. august 2010 - 09:42 #1
Hvordan fremkommer SANDT/FALSK - er det resultat af en formel eller??
Avatar billede scheler Novice
25. august 2010 - 09:47 #2
Ja, det kommer fra en formel
Avatar billede supertekst Ekspert
25. august 2010 - 09:55 #3
Prøv at vise din kode her..
Avatar billede supertekst Ekspert
25. august 2010 - 10:09 #4
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.
Avatar billede scheler Novice
25. august 2010 - 11:20 #5
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 :-)
Avatar billede supertekst Ekspert
25. august 2010 - 11:25 #6
Prøv at sende dit regneark - @-adresse under min profil
Avatar billede newbieatphp Nybegynder
25. august 2010 - 13:28 #7
Du kan lave betinget formatering:

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.
Avatar billede supertekst Ekspert
26. august 2010 - 10:02 #8
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
Avatar billede scheler Novice
26. august 2010 - 10:21 #9
Fantastisk løsning, tak for svaret
Avatar billede supertekst Ekspert
26. august 2010 - 10:30 #10
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
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