Obtenez la Somme de lignes visibles dans VBA
Je veux être en mesure de filtrer et afficher le nombre d' & sumif de l'aire de répartition mondiale et le visible (filtré). Avec le code suivant, je suis en mesure d'afficher le nombre d' & sumif de l'aire de répartition mondiale:
AtmCount = Application.WorksheetFunction.CountIf(Range("X3:X4533"), ">0")
AtmSum = Application.WorksheetFunction.Sum(Range("X3:X4533"))
Avec cette partie, je suis en mesure d'afficher le nombre de une plage filtrée:
AtmCurrentCount = Range("X3:X4533").SpecialCells(xlCellTypeVisible).Count
AtmCurrentSum = ???
Quelqu'un pourrait-il m'aider à obtenir le Somme de seulement les lignes visibles?
Cela peut ne pas être la solution idéale, mais si vous copiez la plage utilisée sur une nouvelle feuille, il ne copie que les données filtrées vous permettant de faire les calculs vous avez besoin plus facilement
Pas une option Ripster que les données changent trop souvent.
Pas une option Ripster que les données changent trop souvent.
OriginalL'auteur CustomX | 2013-07-24
Vous devez vous connecter pour publier un commentaire.
Cela va faire ce que vous voulez. Ensemble visibleTotal pour le type de données approprié pour le total, et de changer le ws et rng objets correspond à ce que vous avez dans votre classeur.
Dans le cas où vous ne souhaitez calculer la somme de la partie de la plage filtrée (par exemple un filtre sur la colonne A, mais veulent la somme de la colonne B), voir à cette question et la réponse: Copier/Coller/Calculer les Cellules Visibles à partir d'une Colonne d'une Table Filtrée.
OriginalL'auteur Jon Crowell
si vous ne souhaitez somme plutôt que de sumif
J'ai ajouté la variable pensais que c'était de l'auto-explicatif 😉
Pas la variable 😉 Quand j'ai ajouté votre fonction " WorksheetFunction... ça donne une erreur sur le code
J'ai ajouté le
application.
partie si elle n'est généralement pas nécessaireOriginalL'auteur JosieP
Je viens de tomber sur ce site.
https://www.techrepublic.com/blog/microsoft-office/how-to-sum-values-in-an-excel-filtered-list/
La formule de base est
x = Application.WorksheetFunction.Sous-total('numéro de code', 'range')
La formule que vous voulez est
x = Application.WorksheetFunction.Sous-total(109, range(x, y))
OriginalL'auteur gavin
La fonction Sous SumVisible() n'a pas fonctionné pour moi au lieu de cela j'ai utilisé la fonction sous-total.Attention l'utilisation de la fonction de numéro de 109,102,104,105 à ignore les valeurs cachées. c'est à dire à calcule uniquement sur les cellules visibles.
"https://support.office.com/en-us/article/subtotal-function-7b027003-f060-4ade-9040-e478765b9939"
OriginalL'auteur SUNIL KUMAR
Si un besoin de COMPTER le nombre d'éléments visibles dans une liste filtrée, puis utilisez le sous-total de la fonction, qui ignore automatiquement les lignes qui sont masquées par un filtre.
Le sous-total de la fonction peut effectuer des calculs comme COUNT, SUM, MAX, MIN, MOYENNE, PRODUIT et beaucoup plus (Voir le tableau ci-dessous). Automatiquement, il ignore les éléments qui ne sont pas visibles dans une liste filtrée ou de la table. Cela le rend idéal pour montrer combien d'articles sont visibles dans une liste, le sous-total des lignes visibles, etc. Il fournit également le contrôle des lignes cacher manuellement manuellement.
La solution à votre question serait de compter le nombre de lignes non vide visible dans la Colonne A et la Colonne B lorsqu'un filtre est actif, vous pouvez utiliser:
Points à retenir lorsque vous appliquez la sous-total de la formule:
double-comptage
OriginalL'auteur jainashish