Cellen tellen of optellen met bepaalde kleuren in Excel

Voorbeeldwerkboek downloaden

Download het voorbeeldwerkboek

Deze tutorial laat je zien hoe je cellen van een bepaalde achtergrondkleur kunt tellen of optellen met VBA.

Overweeg het volgende bereik in Excel.

Er is geen ingebouwde Excel-functie om gekleurde cellen te tellen. In plaats daarvan moeten we een door de gebruiker gedefinieerde functie maken met behulp van VBA.

Cellen tellen - Een aangepaste VBA-functie maken

Tellen hoeveel cellen van een bepaalde kleur zijn met VBA, is een kwestie van een door de gebruiker gedefinieerde functie (UDF) maken die door alle cellen in het bereik loopt en bepaalt of de achtergrondkleur van elke cel overeenkomt met de achtergrondkleur die u waarvoor u aan het testen bent en die functie vervolgens gebruikt in het Excel-werkblad.

In VBA maken we een functie om geselecteerde cellen te tellen.

12345678910111213141516 Functie CountCellsByColor (rng As Range, ColorCell As Range) As DoubleDim dblTel als dubbelDim rngCell As Range'Doorloop elke cel in het bereik'Voor elke rngCell In rng'controleer of de kleur van het interieur dezelfde kleur heeft als de cel die je hebt geselecteerd'Als rngCell.Interior.Color = ColorCell.Interior.Color DanAls IsNumeriek(rngCell.Value) = True Dan'verhoog de telling met 1 als de kleur correct is.dblCount = dblCount + 1Stop alsStop alsVolgende'Retourneer de waarde naar Excel'CountCellsByColor = dblCountFunctie beëindigen

Gebruik vervolgens deze functie in het werkblad om de waarde te retourneren.

1 =CountCellsByColor(B2:E10,G4)
  1. Klik in de oranje cel in G4 en klik op Functie invoegen.

  1. Selecteer Gebruiker gedefinieerde als de categorie en selecteer vervolgens TellenCellenOp Kleur als de te gebruiken functie.

  1. Klik Oke.

  1. Markeer het bereik dat alle gekleurde cellen bevat.

  1. Selecteer de ColorCellen klik vervolgens op Oke.

Herhaal het proces om de cellen met een groene achtergrondkleur te tellen.

1 =CountCellsByColor(B2:E10,G5)

Somcellen - Maak een aangepaste VBA-functie

We creëren een vergelijkbare aangepaste functie in VBA om de waarden van de cellen van een bepaalde kleur op te tellen.

12345678910111213141516 Functie SumCellsByColor (rng As Range, ColorCell As Range) As DoubleDim dblSum als dubbelDim rngCell As Range'Doorloop elke cel in het bereik'Voor elke rngCell In rng'controleer of de kleur van het interieur dezelfde kleur heeft als de cel die je hebt geselecteerd'Als rngCell.Interior.Color = ColorCell.Interior.Color DanAls IsNumeriek(rngCell.Value) = True Dan'voeg de waarde toe aan je variabele als de kleur correct is'dblSum= dblSum + rngCell.ValueStop alsStop alsVolgende'Retourneer de waarde naar Excel'SumCellsByColor = dblSumFunctie beëindigen

We zouden deze functie dan opnieuw in het werkblad gebruiken om de vereiste cellen op te tellen.

1 =SomCellsByColor(B2:E10,G7)

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave