• 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.

Tabkleur met voorwaardelijke opmaak

Status
Niet open voor verdere reacties.

Riverdike

Gebruiker
Lid geworden
7 jun 2006
Berichten
12
Hallo experts,

Al geruime tijd haal ik een aantal zeer bruikbare tips van dit forum, zonder zelf een vraag te stellen, maar nu heb ik er toch één.

Ik heb een werkblad, waarbij ik de tabkleur aan wil passen op het moment dat aan een bepaalde voorwaarde in dat werkblad is voldaan.

Bv het volgende: Als K20=70 dan moet de tabkleur groen worden. Als dit niet geval is of wordt moet de tabkleur weg (of desnoods een andere kleur bv rood).

Is dit mogelijk?

Ik hoor graag van jullie

Met vriendelijke groet,

Riverdike
 
Hoi Riverdike,

Zet onderstaande code in bijvoorbeeld blad1

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 
    If Range("K20").Value = "70" Then
       ' Zet de kleur op ROOD
        ActiveWorkbook.Sheets("Blad1").Tab.ColorIndex = 3
    Else
        ' Zet de kleur weer nogmaal
        ActiveWorkbook.Sheets("Blad1").Tab.ColorIndex = -4142
    End If
End Sub

Suc6
 
Selecteer Opmaak - Voorwaardelijke opmaak.
Van links van rechts: Celwaarde - gelijk aan - 70
Klik op Opmaak - Patronen en kies een kleur.

Klik op Toevoegen
Van links van rechts: Celwaarde - niet gelijk aan - 70
Klik op Opmaak - Patronen en kies "geen kleur".

Met vriendelijke groet,


Roncancio
 
@ Roncancio,

Dit probeerde ik ook, maar dit werkt alleen bij cellen, niet op de tabkleur te veranderen van het werkblad

@ Spiderman

Ik heb dit even getest in een nieuw werkblad en dit werkt. Alleen ik mijn eigen sheet is de naam afhankelijk van hetgeen er in cel B1 staat. Hier krijg ik dus een foutmelding. Is dit nog aan te passen. Dan ben ik helemaal gelukkig!

Alvast bedankt,

Riverdike
 
Verander Range K1 in B1.

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 
    If Range("[COLOR="Lime"]B1[/COLOR]").Value = "70" Then
       ' Zet de kleur op ROOD
        ActiveWorkbook.Sheets("Blad1").Tab.ColorIndex = 3
    Else
        ' Zet de kleur weer nogmaal
        ActiveWorkbook.Sheets("Blad1").Tab.ColorIndex = -4142
    End If
End Sub



Groet,
Ferenc
 
Laatst bewerkt:
Sorry, ik druk mijzelf verkeerd uit!

Op k20 moet een getal van 70 uitkomen om de tabkleur van het werkblad te wijzigen. Dit werkt met de code gegeven door Spiderman....alleen.... hij heeft in die code een verwijzing naar Blad1. Dit kan ik natuurlijk aanpassen als ik deze code naar andere bladen kopieer, maar de Naam van het tabblad is afhankelijk van een waarde die in cel B1 staat.

Dus: Tabnaam = b1
Tabkleur = als k20 is 70

De eerste (tabnaam0 heb ik voor elkaar, nu nog de juiste voor de tabkleur.

Sorry voor mijn halve informatie. Ik las mijn vorige opmerking door en zag inderdaad dat dit niet handig beschreven was door mij

Met vriendelijke groet,

Riverdike
 
Hoi Riverdike,

Ik denk zoiets:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 
    Dim SheetNaam As String
    SheetNaam = Range("B1").Value
    
    If Range("K20").Value = "70" Then
       ' Zet de kleur op ROOD
        ActiveWorkbook.Sheets(SheetNaam).Tab.ColorIndex = 3
    Else
        ' Zet de kleur weer nogmaal
        ActiveWorkbook.Sheets(SheetNaam).Tab.ColorIndex = -4142
    End If
End Sub

Als dit niet juist is, dan is het verstandig om eventjes een voorbeeldtje te plaatsen

Suc6
 
Als je onderstaande code bij Thisworkbook plaats, maakt het niet uit hoe je werkblad heet.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If [k20] = 70 Then
ActiveSheet.Tab.ColorIndex = 3
Else
ActiveSheet.Tab.ColorIndex = -4142

End If
End Sub
 
Hallo,

Bijgaand een deel van het bestand. Helaas werket het niet met de code door jullie aangeleverd.

Misschien dat jullie er zo uitkomen

Alvast bedankt,

Riverdike
 

Bijlagen

Hoi Riverdike,

Dit I.P.V. Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Code:
Private Sub Worksheet_Calculate()
Dim SheetNaam As String
    SheetNaam = Range("B1").Value
    
    If Range("K20").Value = "70" Then
       ' Zet de kleur op ROOD
        ActiveWorkbook.Sheets(SheetNaam).Tab.ColorIndex = 3
    Else
        ' Zet de kleur weer nogmaal
        ActiveWorkbook.Sheets(SheetNaam).Tab.ColorIndex = -4142
    End If
End Sub

Suc6
 
Het werkt!

Fantastisch! Allemaal hartelijk bedankt (en in het bijzonder Spiderman)

Riverdike
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan