• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

kleur tabblad n.a.v. celwaarde

Status
Niet open voor verdere reacties.

bebobebo

Gebruiker
Lid geworden
2 nov 2006
Berichten
94
Hallo exceltoppers,

Ik heb lopen zoeken maar kom de oplossing voor het volgende niet tegen.

Ik heb graag dat de tabbladen en andere kleur krijgen bij een waarde van een cel.
De basiskleur van een tabblad is rood, heeft de cel A1 een waarde > 0 moet de kleur van dat tabblad groen worden en zo ook de celwaarde in rij 2 van de index.

Wie weet een oplossing.

Bekijk bijlage kleur tabblad.xls

Groet Bert
 
Hi Bert,

Dit zou moeten werken, alhoewel de VBA-experts hoogstwaarschijnlijk wel een meer performante versie zullen uitwerken.

Dit plakken achter sheet 1.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1")) = 0 Then
    ActiveWorkbook.Sheets("1").Tab.ColorIndex = 4
    Else
    ActiveWorkbook.Sheets("1").Tab.ColorIndex = 3
    End If
    If Range("a1") = 0 Then
    Sheets("index").Range("c2").Interior.ColorIndex = 3
    Else
    Sheets("index").Range("c2").Interior.ColorIndex = 4
    End If
End Sub

Greetz,

Joske
 
Het lukt ook zonder VBA, geef die cellen een naam dan kun je via VO werken.

Cobbe
 
Laatst bewerkt:
Aanvulling op oplossing van Cobbe (perfecte oplossing).

Aanvulling op oplossing van Cobbe (perfecte oplossing).

De rode achtergrondkleur is nu als celkleur benoemd.

Dit kan ook via VO (voorwaardelijke opmaak) door 2e voorwaarde op te maken.

Met vriendelijke groeten,

Oeldere
 
Beste Cobbe ;)

Wel een mooi gevonden, maar ik zie de kleur onderaan in de tabblad1 to 7 niet veranderen van kleur :confused:

Groetjes Danny. :thumb:
 
Dat kan ook maar vanaf excel2007.
Dat kan ik ook niet veranderen.

Cobbe
 
Joske en Cobbe bedankt voor het meedenken toppie.

Voor mij is het de oplossing van theo geworden.
Theo ik heb alleen de voorwaardelijke opmaak op >0 gezet.
Nogmaal bedankt TOP.

Gr. Bert
 
Ik heb nog even goed gegeken en hij werkt nog niet zoals ik zou willen.
Tabblad mag alleen maar groen worden als a1 > 0.
Wat hij nu doet is ook als er buiten cel a1 een waarde komt te staan groen kleuren.
Wat doe ik niet goed ?

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Not Intersect(Target, Range("A1")) = 0 Then
        ActiveWorkbook.Sheets(ActiveSheet.Name).Tab.ColorIndex = 4
    Else
        ActiveWorkbook.Sheets(ActiveSheet.Name).Tab.ColorIndex = 3
    End If
End Sub

Bekijk bijlage kleur tabblad de juiste.xls
 
@ Danny, je hoeft niet in elk blad de code te plaatsen. Volgende in ThisWorkbook doet het voor alle bladen. Dit in combinatie met de VO van Cobbe en de wens van TS is vervuld.
Zie Bijlage

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
 For Each Sh In ThisWorkbook.Sheets
        If Target.Address = [A1].Address Then
            If Target.Value > 0 Then
                ActiveSheet.Tab.ColorIndex = 4
            Else
                ActiveSheet.Tab.ColorIndex = 3
            End If
        End If
    Next
End Sub

Mvg

Rudi
 

Bijlagen

Danny,
Bedankt voor het meedenken, kan ik wat mee.


Rudi,
Oplosssing is helemaal top, kan ik mee verder.
Bedankt.

Allemaal wer hartelijk bedankt voor het meedenken, ik heb weer het een en ander
van opgestoken.
Bedankt.

Bert
 
Iedereen nog de beste wensen !

Ik ben er nog niet helemaal uit.
Op het moment dat ik handmatig een waarde geef aan de cel gaat alles werken.
Nu probeer ik het via de waarde van de uitkomst van een formule, gaat niet lukken.
Moet er een bepaalde code worden toegevoegd ??

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
 For Each Sh In ThisWorkbook.Sheets
        If Target.Address = [d10].Address Then
            If Target.Value > 0 Then
                ActiveSheet.Tab.ColorIndex = 4
            Else
                ActiveSheet.Tab.ColorIndex = 3
            End If
        End If
    Next
End Sub

Bekijk bijlage kleur tabblad met formule.xls

Gr. Bert
 
Misschien eens proberen via het sheetcalculate event.
 
HHS (hou het simpel)

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Target.Address = "$D$10" Then Sh.Tab.ColorIndex = IIf(Target = 0, 3, 4)
End Sub
 
Misschien eens proberen via het sheetcalculate event.

Hallo Finch,
Dank voor de reactie, ik ben blij dat ik hier kan volgen wat er gebeurt.
Sheetcalculate kan ik helemaal niks mee, ga wel op het net kijken.
Ben bijna in de buurt van de oplossing, nog even dit laatste probleempje.

Bedankt.

Bert
 
HHS (hou het simpel)

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Target.Address = "$D$10" Then Sh.Tab.ColorIndex = IIf(Target = 0, 3, 4)
End Sub

Hi snb,

Hij is een stuk korter, maar geeft hetzelfde resultaat.
Gaat nog steeds niet goed.
Bij een handmatige invoer van een getal doet hij het en als de waarde n.a.v. een formule
meer dan o is geeft hij geen reactie.

Wat gaat er niet goed

Bert
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan