J'ai la boucle suivante ci-dessous:
With Sheets("Sheet Name") For i = 2 To 26 .Cells(11, i).Formula = Application.WorksheetFunction.CountIfs(Sheets("Sheet1").Range("F8:F" & n), Sheets("Sheet2").Range(Chr(64 + i) & "8"), Sheets("Sheet1").Range("AC8:AC" & n), "S") .Cells(12, i).Formula = Application.WorksheetFunction.CountIfs(Sheets("Sheet1").Range("F8:F" & n), Sheets("Sheet2").Range(Chr(64 + i) & "8"), Sheets("Sheet1").Range("AC8:AC" & n), "YS") Next i End With
La dernière condition à la fin de chaque ligne change par une string, c'est-à-dire "S", "YS". Je veux éviter d'avoir à utiliser 1 ligne pour chaque "S" et "YS" et ainsi de suite, il y aura beaucoup de lignes pour chaque critère. Je souhaite également append une autre boucle pour les lignes
codes = Array("S", "YS") For i = 2 To 26 For j = 0 to UBound(codes) Sheets("Sheet Name").Cells(11+j, i).Formula = Application.WorksheetFunction.CountIfs(Sheets("Sheet1").Range("F8:F" & n), Sheets("Sheet2").Range(Chr(64 + i) & "8"), Sheets("Sheet1").Range("AC8:AC" & n), codes(j)) Next j Next i
La prochaine étape de ma longue list de problèmes et d'améliorations a été de simuler cela, mais pour un SUMIFS, car je cherchais des données de coûts.
Voir ci-dessous et j'espère que d'autres peuvent bénéficier de cela et peut-être améliorer!
With Sheets("Operations Schedules -Summary") For i = 2 To 26 For j = 0 To UBound(codes) .Cells(37 + j, i).Formula = Application.WorksheetFunction.SumIfs(Sheets("Sheet1").Range("AD8:AD" & n), Sheets("Sheet1").Range("F8:F" & n), Sheets("Sheet2").Range(Chr(64 + i) & "8"), Sheets("Sheet1").Range("AC8:AC" & n), codes(j)) Next j Next i End With
Une certaine syntaxe de base de SUMIFS:
Pour les novices qui examinent les différentes qualifications des variables ci-dessus: