Somme de la Colonne B sur base d'Une Colonne à l'aide d'Excel Macro VBA
OK, j'ai un problème simple que j'ai besoin d'aide dans une Macro VBA. J'ai une feuille excel qui ressemble à...
Product # Count
101 1
102 1
101 2
102 2
107 7
101 4
101 4
189 9
J'ai besoin d'une macro qui ajoute le "comte" de la colonne en fonction du Produit Numéro de la Colonne. Je veux qu'il à plus de tous ressembler à ceci après je suis fait...
Product # Count
101 7
102 7
107 7
189 9
Je suis un amiture à VBA donc j'aimerais toute l'aide que je peux obtenir.
- Un tableau croisé dynamique permettrait de le faire sans VBA. Ou utiliser assylias approche " formule.
- Williams: +1 j'aime le Pivot capable approche 🙂
- Je suis reconnaissant pour l'idée, mais ce n'est qu'une étape dans un plus grand code de la Macro. Après il trie les infos, il va combiner avec une autre feuille de calcul. J'en ai besoin pour devenir des données brutes de nouveau comme il est dans votre graphique de sorte que le reste de la macro peut travailler. - Je faire merci pour cette information. Cela aidera dans d'autres projets, je travaille sur.
Vous devez vous connecter pour publier un commentaire.
En supposant que les données sont dans les colonnes A et B, vous pouvez le faire avec une formule:
Ou, si vous mettez 101 en C1:
MODIFIER
Toutefois, si vous avez encore besoin de VBA, voici mon (quick and dirty) proposition - je utiliser un dictionnaire pour garder une trace de la somme pour chaque élément.
La chose la plus facile est d'utiliser un Tableau croisé dynamique dans ce cas, comme Tim suggéré.
The easiest thing is to use a Pivot Table in this case as Tim suggested.
😉Ici est une solution VBA qui utilise des tableaux multidimensionnels. J'ai remarqué que vous avez dit que vous êtes un peu nouveau pour VBA j'ai donc essayé de mettre des commentaires là-dedans. Une chose qui peut paraître étrange, c'est quand je redimensionner les tableaux. C'est parce que quand vous avez les tableaux multidimensionnels vous ne pouvez Redimensionner la dernière dimension dans le tableau lorsque vous utilisez le mot clé Preserve.
Ici est de savoir comment mes données:
Et voici le code. Il a le même résultat que ma dernière réponse. Tester cela dans un nouveau classeur et de mettre les données de test dans la feuille Sheet1 avec les en-têtes.
Ce sera le but..
Seulement, n'oubliez pas d'activer "Microsoft Scripting Runtime" dans les références.
Basé sur le code de Sub doIt(), est possible dans la pour Chaque ycle de retrive également le nombre d'occurence?
Exemple:
Produit # 101 4 occurence
Produit # 102 ont 2 occurence
ecc...
Je sais que c'est la fin... mais j'ai été amené ici par La somme de la colonne B basé sur la colonne, les valeurs de C et donc je poste une solution avec la même "formule" approche que j'ai utilisée, mais adapté à ce besoin réel
il fait usage d'un "helper", les colonnes, ce qui, je suppose, pourrait être l'un à côté de la dernière colonne de données (c'est à dire: si les données des colonnes "A:B" puis helper colonne "C")
les différents "helper" colonne sera nécessaire ensuite de voir les commentaires sur la façon dont il se trouve et de modifier le code en conséquence