kleur geven aan rij met voorwaarde

Status
Niet open voor verdere reacties.

moensk

Gebruiker
Lid geworden
23 jun 2013
Berichten
712
Bijgaand script werkt goed
nu wil ik daar aan toevoegen dat hij ook kolom A vergelijkt (rijen tussen 2 lege rijen = 1 rit)
als alle getallen in kolom A binnen 1 rit gelijk zijn dan niks doen
als er een verschil is dan hele rit rood maken.
ik heb een foto toegevoegd om dit te verduidelijken.

kleur geven.jpg

Code:
Sub sorteren_planning()

' Sneltoets: Ctrl+p

    ActiveWorkbook.Connections("Query - maxeda_VRT").OLEDBConnection.BackgroundQuery = False
    ActiveWorkbook.Connections("Query - maxeda_VRT").Refresh
   
'Sorteren - uitlijnen
    Application.CutCopyMode = False
    ActiveWorkbook.Worksheets("VRT").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("VRT").Sort.SortFields.Add2 Key:=Range("D2:D111"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("VRT").Sort.SortFields.Add2 Key:=Range("E2:E111"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("VRT").Sort
        .SetRange Range("A1:W111")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
        Worksheets("VRT").Activate
        Cells.Select
    With Selection
        .HorizontalAlignment = xlLeft
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    
'Lege rijen invoegen
        Worksheets("VRT").Activate
        Cells.Select
        Set bereik = Range("A2")
            rij = bereik.Row
            kolom = bereik.Column
        Do
            If Cells(rij + 1, kolom) <> Cells(rij, kolom) Then
            Cells(rij + 1, kolom).EntireRow.Insert shift:=xlDown
            rij = rij + 2
        Else
            rij = rij + 1
    End If
    Loop While Not Cells(rij, kolom).Text = ""
End Sub
 
zo bijvoorbeeld.
Je kan die 2 lijnen binnen de For...Next ook op 1 lijn zetten, maar ik deed het niet voor de leesbaarheid
Code:
Sub kleuren()

   For Each ar In Columns("A").SpecialCells(xlConstants).Areas   'alle blokken aflopen
      b = (Application.CountIf(ar, ar.Cells(1)) <> ar.Cells.Count)   'niet alle cellen binnen area gelijk
      If b Then ar.Font.ColorIndex = 3           'dat blok een rode tekstkleur geven
   Next

End Sub
 
Cow18 thanks alvast
nu maakt hij enkel kolom A rood
mijn vraag was niet duidelijk genoeg maar bedoeling is de volledige rijen rood te maken
er staan nog kolommen in doch als voorbeeld foto had ik deze weggelaten
 
Code:
     If b Then ar.[COLOR="#FF0000"]entirerow[/COLOR].Font.ColorIndex = 3           'dat blok een rode tekstkleur geven
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan