Exel VBA cellen om en om kleuren

Status
Niet open voor verdere reacties.

Killerman1991

Gebruiker
Lid geworden
4 mrt 2015
Berichten
64
Ik ben op het moment bezig met een schema, nu is handig als de rijen om en om gekleurd zijn.

De bedoeling is dat het bij A7 t/m AM7 begint met grijs en dat A8 t/m AM8 wit is enzovoord.

Het einde kan varieren en hang af van het aantal stappen. Op het plaatje moet het eindigen bij A32 t/m AM32

TEST.jpg
 
Ja zo moet het worden, maar dan moet dat vanuit VBA. Dit schema wat ik laat zien word gecreerd door een macro en haalt zijn input uit een ander tabblad. Hij structureerd hem ook op frequentie zoals je kunt zien heb je eerst de S dan D en dan de W, en staat hij niet meer op volgorde van nummers. Het tabblad waar hij zijn input uit haalt staat wel op volgorde van nummer. Hierdoor is het niet werkzaam om die een kleur te geven aangezien het dan niet om en om is.

Dus de enige optie is van VBA.
 
Heb je hier wat aan?

Code:
Sub RegelKleuren()

Dim lRegel As Long

For lRegel = 7 To 32 Step 2
  Range(Cells(lRegel, 1), Cells(lRegel, 39)).Interior.Color = 14474460
Next lRegel

End Sub
 
Ik zag in jouw plaatje ook geen VBA, noch Excel....
 
Dus de enige optie is van VBA.
Hmm, waag ik toch te betwijfelen. Maak van je gegevens een tabel (invoegen > tabel) en je hebt een scala aan opmaak mogelijkheden zonder interior.color te wijzigen.
En anders is er ook nog voorwaardelijk opmaak.
 
Heb je hier wat aan?

Code:
Sub RegelKleuren()

Dim lRegel As Long

For lRegel = 7 To 32 Step 2
  Range(Cells(lRegel, 1), Cells(lRegel, 39)).Interior.Color = 14474460
Next lRegel

End Sub

Ik heb dit geprobeerd maar er gebeurd niks?

Ik zag in jouw plaatje ook geen VBA, noch Excel....

Omdat ik het plaatje in paint gemaakt heb.

Hmm, waag ik toch te betwijfelen. Maak van je gegevens een tabel (invoegen > tabel) en je hebt een scala aan opmaak mogelijkheden zonder interior.color te wijzigen.
En anders is er ook nog voorwaardelijk opmaak.

Ik heb net geprobeerd om er een tabel van te maken, maar krijg dan foutmelding in een vba sub die ervoor zorgt dat het schema gemaakt wordt. Het probleem is dat dit excel bestand heel complex is wat betreft VBA. Ik heb hem zelf niet gemaakt en heb er ook niet heel veel verstand van.
 
Heb je hier wat aan?

Code:
Sub RegelKleuren()

Dim lRegel As Long

For lRegel = 7 To 32 Step 2
  Range(Cells(lRegel, 1), Cells(lRegel, 39)).Interior.Color = 14474460
Next lRegel

End Sub

Ik heb nog even wat verder geprobeerd en ik krijg het werkend, maar dat is voor dat hij hem op frequentie sorteerd en het moest juist erna.

De sortering op frequentie wordt uitegevoerd door de volgende code:

Code:
Public Function GetFreqRank(str)
    If str = "S" Then
        GetFreqRank = 1
    ElseIf str = "D" Then
        GetFreqRank = 2
    ElseIf str = "W" Then
        GetFreqRank = 3
    ElseIf str = "F" Then
        GetFreqRank = 4
    ElseIf str = "M" Then
        GetFreqRank = 5
    ElseIf str = "T" Then
        GetFreqRank = 6
    ElseIf str = "SA" Then
        GetFreqRank = 7
    ElseIf str = "A" Then
        GetFreqRank = 8
    Else
        GetFreqRank = 9
    End If
End Function

Ook is het niet gezegd dat cell 32 het laatste is ligt er maar net aan hoeveel regels er ingevuld zijn. Kan de code daar ook naar kijken?
 
Laatst bewerkt:
Ik weet een oplossing alleen nu nog een code die erbij hoort.
Aangezien de cellen met frequentie S als 1ste komen, moet hij dus de 1ste cel met s grijs maken en dan om en om. Wanneer de laatste S wit is moet de eerste D grijs zijn en wanneer de laatse S grijs is moet de eerste D wit zijn. Dit geld hetzelfde voor D en W enzovoort.

Zodoende doet hij het dus niet om en om, maar is het afhangkelijk van de frequentie.

Ik heb het handmatig gedaan en deze als voorbeeld bijgevoegd als afbeelding en dit werkt naar behoren, aangezien hij deze op frequentie sorteerd staan ze bij het maken van het schema weer netjes om en om.

Test.png

En wanneer ik hem aanmaak ziet het er als volgt uit:
Test 2.jpg
 
Laatst bewerkt:
Ik snap niet helemaal wat je bedoel maar volgens mij zou het zo moeten kunnen:

Zet deze regel aan het einde van de macro (dus na sorteren enz.)

Code:
Call RegelsKleuren

Zet deze macro ergens in een module:

Code:
Sub RegelsKleuren()

Dim lRegel As Long

Range("A7:AM39").Interior.Color = xlNone
For lRegel = 7 To 39 Step 2
  Range(Cells(lRegel, 1), Cells(lRegel, 39)).Interior.Color = 16777164
Next lRegel

End Sub
 
Laatst bewerkt:
Ik snap niet helemaal wat je bedoel maar volgens mij zou het zo moeten kunnen:

Zet deze regel aan het einde van de macro (dus na sorteren enz.)

Code:
Call RegelsKleuren

Zet deze macro ergens in een module:

Code:
Sub RegelsKleuren()

Dim lRegel As Long

Range("A7:AM39").Interior.Color = xlNone
For lRegel = 7 To 39 Step 2
  Range(Cells(lRegel, 1), Cells(lRegel, 39)).Interior.Color = 16777164
Next lRegel

End Sub

Er is een knop die een schema maakt, waarin dus al een hele code achter zit.
Dit stukje moet in die code erbij, weet alleen niet hoe. Want als ik hem erin zet dan staat hij in de sub boven die van de frequentie, dus die van de frequentie komt altijd als laatste.
Daarom is het beter dat de code zo is dat hij net als de frequentie naar de S,D,W enzovoord kijkt.

Als jij het eerste plaatje van mij bekijkt zie je dat de eerste S op rij 7 gekleurd is en de volgende S op rij 12 weer niet. Dus het is om en om wat betreft de S'en. Vervolgens is ook te zien dat de laatste S op rij 31 niet gekleurd is en dat betekend dat de eerst D wel gekleurd moet zijn. Dit is ook te zien want de eerste D op rij 11 is gekleurd. Dit geld ook voor alle w's enzovoort.

Ik wil graag een vba code hebben die daarnaar kijkt.

Hoop dat mij uitleg duidelijk genoeg is.

Alvast bedankt voor de moeite
 
Hallo,
Vraagje ivm je probleem:
- begint je tabel steeds op dezelfde lijnnr, welke ?
- In je tabel, is daar een kolom waar telkens 'iets' is ingevuld maw geen lege cellen ?
Als je dit kunt beantwoorden dan bezorg ik je een voorbeeld van wat ikzelf al eens gebruikt heb.
Grtjs, Andy
 
Hier is een voorbeeld dat je volgens mij gemakkelijk naar wens kunt aanpassen.
In de code is ook wat kommentaar voorzien om het leesbaarder te maken.
Dit is wel de eerste keer dat ik een bijlage probeer erbij te doen, hopelijk lukt het zo. De naam is Test_kleuren.xlsm
Succes
Bekijk bijlage Test_kleuren.xlsm
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan