conversion excel sumifs formule de code vba
Je suis en train de faire un SUMIFS calcul en VBA. Il fonctionne très bien lorsque je l'inscrire à la feuille de calcul, mais quand j'essaie de le convertir en VBA, il ne semble pas fonctionner.
Sheets("Master").Range("B2:B" & Range("A" & Rows.Count).End(xlUp).Row).Formula = _
"=SUMIFS(Input!C32,Input!C37,Master!C1,Input!C31,Master!R1C)"
C'est l'extrait de code (à l'origine dans un commentaire):
Dim LastRow As Long
Dim rw As Long
LastRow = Range("A" & Rows.Count).End(xlUp).Row
For rw = 2 To LastRow
Sheets("Master").Cells(rw, 2).Value = Application.WorksheetFunction.SumIfs(Sheets("Input").Range("AF:AF"), Sheets("Input").Range("AK:AK"), Sheets("Master").Range("A:A"), Sheets("Input").Range("AE:AE").Sheets("Master").Range("B2"))
Next
Cherchez et vous RECHERCHER
Ce qui "ne semble pas fonctionner"?
je suis en train d'exécuter ce code Dim LastRow as Long Dim rw Tant LastRow = Range("A" & les Lignes.Le comte).End(xlUp).Ligne Pour rw = 2 À LastRow Sheets("Maître").Les cellules(rw, 2).Valeur = Application.WorksheetFunction.SumIfs(Sheets("Input").Range("AF:AF"), Sheets("Input").Range("AK:AK"), Sheets("Maître").Range("A:A"), Sheets("Input").Range("AE:AE").Sheets("Maître").Range("B2")) Next
Ajoutez le code qui ne fonctionne pas à votre question plutôt que d'un commentaire.
et astuce supplémentaire: vous définissez la formule en L1C1 de syntaxe lors de l'affectation à
Ce qui "ne semble pas fonctionner"?
je suis en train d'exécuter ce code Dim LastRow as Long Dim rw Tant LastRow = Range("A" & les Lignes.Le comte).End(xlUp).Ligne Pour rw = 2 À LastRow Sheets("Maître").Les cellules(rw, 2).Valeur = Application.WorksheetFunction.SumIfs(Sheets("Input").Range("AF:AF"), Sheets("Input").Range("AK:AK"), Sheets("Maître").Range("A:A"), Sheets("Input").Range("AE:AE").Sheets("Maître").Range("B2")) Next
Ajoutez le code qui ne fonctionne pas à votre question plutôt que d'un commentaire.
et astuce supplémentaire: vous définissez la formule en L1C1 de syntaxe lors de l'affectation à
.Formula
propriétés. Essayez de changer .Formula
en .FormulaR1C1
OriginalL'auteur user2440270 | 2013-05-31
Vous devez vous connecter pour publier un commentaire.
Vous n'êtes pas en spécifiant les valeurs que vous voulez rechercher dans votre criteria1. Vous devez spécifier une valeur, pas une gamme.
Votre somme gamme est très bien.
Vos critères de plage1 est très bien.
Votre criteria1 doit être une valeur, pas une gamme.
Utiliser cette
Sheets("Master").Range("A2").value
au lieu de
Sheets("Master").Range("A:A")
Vous pouvez bien évidemment remplacer les 2 dans le criteria1 avec une variable si vous avez besoin pour obtenir votre boucle pour travailler.
N'a qu'à résoudre votre problème?
oui Merci beaucoup
OriginalL'auteur Jon Crowell