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

Automatisch kleuren tabbladen in excel

Status
Niet open voor verdere reacties.

marjanmeijerink

Nieuwe gebruiker
Lid geworden
23 jan 2015
Berichten
4
Wie kan mij helpen met een instelling in een excelwerkblad met meerdere tabbladen waardoor op basis van waardes in bepaalde cellen, tabbladen in deze excelsheet automatisch een bepaalde kleur krijgen? Heb via zoeken wel gevonden dat dit mogelijk is via VBA, hier ben ik niet mee bekend.

Even voor de duidelijkheid: Ik heb een excelsheet met bijvoorbeeld 50 tabbladen. Op het 1e tabblad staan in de cellen A1 t/m A49 een waarde of geen waarde vermeld.
Indien er een waarde vermeld staat in cel A1, dient tabblad 2 automatisch (bijvoorbeeld de kleur blauw) gekleurd worden. NB Indien in dit veld geen waarde staat, dient tabblad 2 niet gekleurd te zijn.
Indien er een waarde vermeld staat in cel A2 dient tabblad 3 automatisch gekleurd te worden. NB Indien er in dit veld geen waarde vermeld staat, dient tabblad 3 niet gekleurd te zijn.
Etc.
 
Ik had deze in gedachten:
Code:
Sub ColorTabs()
    Dim sh As Worksheet
    
    Application.ScreenUpdating = False
    For Each sh In ThisWorkbook.Sheets
        Debug.Print sh.Index
        If sh.Index > 1 Then
            Sheets(sh.Name).Select
            If Sheets(1).Cells(sh.Index - 1, 1) <> "" Then
                With ActiveWorkbook.Sheets(sh.Name).Tab
                    .ThemeColor = xlThemeColorLight2
                    .TintAndShade = 0.399975585192419
                End With
            Else
                With ActiveWorkbook.Sheets(sh.Name).Tab
                    .ColorIndex = 2
                    .TintAndShade = 0
                End With
            End If
        End If
    Next sh
    Application.ScreenUpdating = True
End Sub
 
Hallo Cobbe, dit begint er al aardig op te lijken. Ik ben de 'codering' echter nodig voor een bestand met heel veel tabbladen, kan jij de formule in het bestand ook uitbreiden voor bijvoorbeeld 50 tabbladen?
 
Hallo Edmoor, kan jij jouw formule voor mij in een excelsheet verwerken zodat ik zien wat er gebeurt? Ik weet namelijk niet hoe ik jouw formule moet verwerken.
 
Mijn 'code' is al voorzien voor 50 of (véél) meer werkbladen,
Interior.colorindex levert maar 49+1 kleuren vandaar dat tabelletje met de geldige kleuren:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo oeps
 If Intersect(Target, Range("A1:A49")) Is Nothing Then Exit Sub
    With Sheets(Target.Row + 1)
        .Tab.ColorIndex = xlNone
        .Tab.ColorIndex = Target.Value
    End With
oeps:
End Sub

PS: maar ik denk dat je niet doorhebt hoe mijn oplossing werkt!!
 
Die van Cobbe werkt prima. Is simpel te gebruiken en geeft je veel vrijheid in kleurkeuze. Hij wordt uitgevoerd op het moment dat 1 van de cellen A1 t/m A49 wordt gewijzigd. Dat kun je testen met het document in #2.
 
Ah super, ik had niet door hoe ik extra tabbladen kon toevoegen zodat daarin automatisch de formule werd meegenomen, maar inmiddels is 't gelukt. Bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan