selectief tellen als er een kolomfilter aan staat

Status
Niet open voor verdere reacties.

RobBlok

Gebruiker
Lid geworden
10 mei 2016
Berichten
33
Goedendag,

Ik heb een probleempje
Bijgaand een klein bestandje 'probeersel'

Het is een sterk vereenvoudigde sheet

Kolom a bevat een letterreeks
Kolom b bevat een letterreeks

Nu wil ik graag alleen bepaalde letters tellen als het filter aanstaat
Het aantal argumenten volstaat niet

Code:
Sub TestFilter()
On Error GoTo xlExit
xlStart:
    With ActiveSheet
        If .AutoFilterMode = True And .FilterMode = True Then
            'het filter staat aan
            Stop
            strFormule = "=COUNTIF(R2C:R8C,""b"")+COUNTIF(R2C:R8C,""v"")"
            Cells(17, 2) = strFormule
[COLOR="#FF0000"]            TempString = "=SUBTOTAL(103,COUNTIF(R2C:R8C,""b"")+COUNTIF(R2C:R8C,""v"")"
            Cells(18, 2) = TempString[/COLOR]
        ElseIf .AutoFilterMode = True Then
            'het filter staat uit
            strFormule = "=COUNTIF(R2C:R8C,""b"")+COUNTIF(R2C:R8C,""v"")"
            Cells(17, 2) = strFormule
        Else
            'er is geen filter
            Rows(1).AutoFilter
            .FilterMode = False
            GoTo xlStart
        End If
    End With
xlExit:
End Sub
Het gaat mij dus om een formule voor het rode gedeelte

Ik zoek dus een conditionele countif waar ik de voorwaarden kan opgeven

Wie heeft er een suggestie hoe dit op te lossen?
 

Bijlagen

Laatst bewerkt:
Probeer het eens met.
Code:
=SOMPRODUCT(SUBTOTAAL(3;INDIRECT(ADRES(RIJ($2:$10);2)))*(B2:B10={"b";"v"}))
 
Bedankt Harry.
moet 3 niet 103 zijn?
Er staat dan in de cel #N/B wellicht heb je daar dan een aanwijzing aan.
De formule doet dus niet wat ik wil maar wordt niet als fout gekenmerkt
Wellicht nog een andere suggestie?
 
Ik heb het puur over de formule, niet in Vba, dat kan later wel.
Ik weet niet welke filter je zet, maar hier heb ik 'b' en 'v' gefiltert.
Je mag ook enkel op de 'v' of 'b' filteren.

Edit: Misschien moet jij de backslash ipv van de puntkomma als scheidingsteken gebruiken.
Wordt automatisch omgezet in het geplaatste bestand.
 

Bijlagen

Laatst bewerkt:
Geweldig, enorm bedankt Harry, niet voor niets heb je de kwalificatie mega honourable senior member.
Nogmaals dank

m.v.gr. vanuit regenachtig Frankrijk
Rob
 
Graag gedaan Rob,

Overigens is het hier nog steeds prachtig weer geweest.
 
Toch nog een vraag

Beste Harry,

De formule werkt goed, perfect.
Maar nu wil ik die code in een VBA regel toevoegen en dat lukt me niet omdat de aantallen regels per werkblad waarop ik dit tel steeds verschillend zijn.
Hoe ik het ook probeer om die formule (de regelverwijzingen tussen de blokhaken) variabel te maken , het lukt me niet.
Wellicht heb jij nog een suggestie.

B.v.d.
Rob :shocked:
 
Met je oorspronkelijke formule in B15 lijkt me niets mis, behalve de omvang van het gebied:
PHP:
=SUBTOTAL(103;B2:B9)

In VBA:

Code:
Sub M_snb()
   MsgBox Application.Subtotal(103, Cells(1).CurrentRegion.Columns(2)) - 1
End Sub
 
Laatst bewerkt:
Hallo snb,

Die oorspronkelijke formule kan ik niet gebruiken want dan zou ik geen vragen hebben gehad.

De aangepaste formule welke Harry stuurde was
Code:
=SOMPRODUCT(SUBTOTAAL(103;INDIRECT(ADRES(RIJ([COLOR="#FF0000"]$7:$198[/COLOR]);2)))*([COLOR="#FF0000"]H7:H198[/COLOR]={"b"\"v"\"a"\"o"\"s"\"j"\"d"}))

Deze formule werkt prima maar ik wil deze onder tabellen plaatsen waar het aantal rijen steeds verschilt.
Ik kan die adressering wel absoluut opgeven maar ik wil het dus juist samenstellen (dynamisch, ongeacht aantal regels)

Als ik dat doe dan krijg ik een foutmelding vanwege de vermenigvuldiging welke erin staat.
Daarvoor zoek ik dus een oplossing om een Formulastring op te bouwen welke ik in de geadresseerde cell kan plaatsen.

Alsnog bedankt voor het meedenken;)

groetjes,

Rob
 
Misschien is het handig als je het bestand even kunt plaatsen Rob.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan