Excel VBA - Somme d'une colonne
J'essaie de résumer une colonne dans Excel VBA , cependant, parce qu'il y a des espaces vides, je suis 0 la somme.
Dim rExternalTotal As Range , dExternalTotal as Double
Set rExternalTotal = Range(rReportData.Offset(0, 0), rReportData.Offset(261, 0).End(xlUp))
dExternalTotal = Application.WorksheetFunction.Sum(rExternalTotal)
dExternalTotal est toujours à zéro. Je ne peux pas supprimer les espaces vides sur la feuille de travail. Quelqu'un peut-il suggérer une façon de faire la somme par programmation?
- Ugh, j'ai bien aimé le post original est de format mieux. Juste la haine de barres de défilement horizontale...
- Qu'est-ce que rReportData?
- rReportData est juste une autre gamme
- Ajouter cette avant votre Somme(), comme une vérification:
debug.print rExternalTotal.address
Vous devez vous connecter pour publier un commentaire.
Je pense que vous êtes une mauvaise interprétation de la source de l'erreur; rExternalTotal semble être égale à une seule cellule.
rReportData.offset(0,0) est égal à rReportData
rReportData.offset(261,0).end(xlUp) est probablement aussi égal à rReportData, comme vous le décalage par 261 lignes et ensuite utiliser .end(xlUp) la fonction qui sélectionne le dessus d'une zone contiguë de la plage de données.
Si vous êtes intéressé par la somme de la juste une colonne, vous pouvez tout simplement se référer à l'ensemble de la colonne:
ou
La fonction de feuille de calcul somme correctement ignorer les espaces vides.
Laissez-moi savoir si cela aide!
Voici ce que vous pouvez faire si vous voulez ajouter une colonne de nombres dans Excel. ( Je suis à l'aide d'Excel 2010, mais ne devrait pas faire une différence.)
Exemple:
Disons que vous voulez pour ajouter les cellules de la Colonne B du formulaire B10 à B100 & voulez la réponse à être dans la cellule X ou Variable X ( X peut être n'importe quelle cellule ou toutes les variables que vous créez tel que Dim X as integer, etc). Voici le code:
ou
Il n'y a pas de guillemets à l'intérieur des parenthèses dans "=Somme(B10:B100) mais il y a des guillemets à l'intérieur des parenthèses dans Range("B5"). Aussi il y a un espace entre le signe égal et la citation à la droite de celui-ci.
Ce ne sera pas grave si certaines cellules sont vides, il sera tout simplement les voir comme contenant des zéros!
Cela devrait le faire pour vous!
J'ai une étiquette sur mon formulaire de réception de la somme des nombres de la Colonne D dans la feuille Sheet1. Je suis seulement intéressé dans les lignes 2 à 50, vous pouvez utiliser une ligne de compteur si votre nombre de lignes est dynamique. J'ai quelques entrées vides ainsi dans la colonne D et ils sont ignorés.