• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

niet optellen verborgen kolommen

Status
Niet open voor verdere reacties.

jdrmer

Gebruiker
Lid geworden
8 jan 2012
Berichten
103
Goedeavond dames en heren,
een vraag is het mogelijk om verborgen kolommen waar karakters in staan niet op te tellen als er een of meer kolommen verborgen zijn.
Ik heb geprobeerd met subtotaal maar dat lukt niet.
Met de formule AANTAL.ALS(A4:E4;"A")+AANTAL.ALS(A4:E4;"D"), lukt ook niet, ook logisch.
mvg Jan
 

Bijlagen

De functie SUBTOTAAL is bedoeld voor kolommen met gegevens, of verticale bereiken. Deze functie is niet bedoeld voor rijen met gegevens, of horizontale bereiken. Wanneer u bijvoorbeeld het subtotaal berekent van een horizontaal bereik met behulp van een functie_getal van 101 of groter, zoals SUBTOTAAL(109,B2:G2), heeft het verbergen van een kolom geen invloed op het subtotaal. Het verbergen van een rij in een subtotaal van een verticaal bereik is echter wel van invloed op het subtotaal.

Met een UDF kan dat wel.
 

Bijlagen

Laatst bewerkt:
Wat moet precies opgeteld worden? zie geen verborgen kolommen.
 
Met gewone formules zal dit volgens mij niet lukken.
De udf van Harry doet het toch goed?
 
Verander de code nog in onderstaande.

Code:
Function arg(Rng As Range)
Dim cl As Range
 For Each cl In Rng
  If cl.Value [COLOR=#FF0000]<> "" [/COLOR]An[COLOR=#FF0000][/COLOR][COLOR=#FF0000][/COLOR]d Not cl.EntireColumn.Hidden Then arg = arg + 1
Next cl
End Function
 
Voor de volledigheid: het kan wel met een formule, op basis van de breedte van de kolom (0 indien verborgen), maar de udf lijkt me een stuk handiger.

Code:
=SOM(ALS(CEL("breedte";A5);1;0);ALS(CEL("breedte";B5);1;0);ALS(CEL("breedte";C5);1;0);ALS(CEL("breedte";D5);1;0);ALS(CEL("breedte";E5);1;0))

Het verbergen/zichtbaar maken van kolommen leidt niet direct leidt tot aanpassing van de uitkomst: daarvoor moet je eerst op F9 drukken of ergens iets wijzigen.
Bovendien is de eerste parameter van de CEL-functie niet taalonafhankelijk: in het engels moet je "width" gebruiken en dat gebeurt niet automatisch als je een nederlands bestand met een engelse versie van Excel opent.
 
Hallo dames en heren,
achteraf gezien kom ik hier niet mee weg.
In de zichtbare kolommen staan bepaalde karakters en die mogen alleen opgeteld worden. Dus bv A en V en \ en SO en A3. Maar in de verborgen kolommen kunnen karakters voorkomen die hetzelfde zijn. Daarom is het belangrijk dan de verborgen kolommen niet worden opgeteld. Voorheen had ik kolommen zonder verborgen kolommen. Dus dan pas ik de formule AANTAL.ALS(A4:E4;"A";1)+AANTAL.ALS(A4:E4;"O";1), maar nu zijn er verborgen kolommen toegevoegd en mogelijk dezelfde waarde en die mogen niet worden meegerekend.
Kan de vba werken als in het bereik de zichtbare kolommen A enof V enof \ enof SO enz voorkomt dan optellen?
mvg Jan
 
Zet onderstaande UDF eens in mijn vorig bestand in de standaard module.
Daar zit nl. nog een code in die zorgt voor een herberekening bij een selection_change.
Code:
Function arg(Rng As Range)
Dim cl As Range
 For Each cl In Rng
  If Not cl.EntireColumn.Hidden Then
   Select Case LCase(cl)
    Case "a", "v", "so", "\", "a3"
     arg = arg + 1
  End Select
  End If
Next cl
End Function
 
Harry, dit werkt echt fantastisch.
Heel erg bedankt, weet jij waar ik hier een pdf met hoe leer ik dit, kan vinden?
Als je dit beheerst krijg je veel mogelijkheden.

mvg Jan
 
Harry, ik heb al diverse programeren VBA pdf's gevonden.
mvg Jan
 
Dames en heren,
werkt fantastisch.
allemaal bedankt voor Uw hulp.
mvg Jan
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan