Waarde zoek, alleen in gekleurde cel

Status
Niet open voor verdere reacties.

MEradus

Gebruiker
Lid geworden
25 nov 2012
Berichten
287
Hallo!

Ik ben op mijn werk bezig om een van mijn rapportages aan te passen met een macro.
In deze rapportage wordt een onbepaald aantal regels (al via macro's) geel gemaakt.
Dit zijn ritten die te laat gereden zijn. Nu zoek ik de mogelijkheid om in een actieve cel de "Aantal.Als" te krijgen van bijvoorbeeld de waarde "ND01", maar alleen als deze in een gele cel staat.
Nu heb ik via 'opnemen' deze code gekregen(zie voorbeeld) alleen daar krijg ik niet de aantallen mee. Is er iemand die hier misschien een oplossing voor heeft?

I.v.m. gevoelige informatie kan ik geen voorbeeld bestand plaatsen.

Alvast bedankt voor het meedenken!


Code:
Sub Kleurzoeken_test()
'
' Kleurzoeken_test Macro
' Zoeken op waarde en kleur
'

'
    Columns("L:L").Select
    With Application.FindFormat.Interior
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Selection.Find(What:="ND01", After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=True).Activate
End Sub
 
Je kunt in VBA een functie maken die als parameter een kleurcode en cel adres inneemt en die dan een True terug geeft als de opvulkleur van die cel gelijk is aan de kleurcode. Die functie kun je dan in de Aantal.Als gebruiken.
 
Ok, maar kun je me alvast de goeie richting in sturen.
Het maken van een functie heb ik nog niet echt bij de hand gehad.
 
Ik zal hem wel voor je maken. Daar heb ik vandaag nog wel tijd voor.
 
Dit is de functie:

Code:
Function ChkColor(ByVal Target As Range, ClrCode As Long) As Boolean
    If Target.Interior.Color = ClrCode Then ChkColor = True
End Function

Weet je hoe je ermee om moet gaan?

Aanroep voorbeeld in bijvoorbeeld B1:
=ALS(ChkColor(A1;65535);"Geel";"Niet geel")
 
Laatst bewerkt:
Hoi,

Ik ben zelf even gaan puzzelen of ik erachter kan komen hoe ik dit werken kan krijgen, maar dat is me niet gelukt.
Ik heb de ALS code die je me hebt gegeven iets aangepast, omdat ik in kolom L wil zoeken naar de gele cellen met "ND01" erin.
De functie heb ik in de werkmap waar het omgaat gezet, maar hij geeft 'niet geel aan'. Misschien moet ik de ClrCode nog definiëren?
 
Heb je de functie wel in een module gezet? Anders werkt het niet.
Plaats anders je document hier even.
 
Laatst bewerkt:
Dat is een .xlsx en kan dus geen macro code bevatten, die er dan ook niet in zit. Na het toevoegen van de functie in een module moet je het document opslaan als werkboek met macro's (.xlsm). Zie bijgevoegd document. De formules heb ik ook al voor je ingevuld in E2 t/m E11, H19 en H20. De tekst "te laat" of "op tijd" wordt bepaald door de functie die ik eerder gaf.

Bekijk bijlage Helpmij_aantal_geel_telaat.xlsm
 
Laatst bewerkt:
Ok Dat het een xlsx was wist ik, had even snel een 'nieuw' bestandje gemaakt zonder de functie erin.
Maar dit werkt zoals het zou moeten, dan had ik nog 1 vraag.
kan ik de functie ook aanroepen vanuit de personal? Het bestand is namelijk niet elke dag hetzelfde.
 
Ja, dat kan uiteraard zoals met iedere macro.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan