Comment puis-je utiliser For Loop correctement pour de multiples conditions

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:

  • La première partie consiste à spécifier la gamme de sum
  • La deuxième partie (s) consiste à spécifier la gamme des critères, puis les critères
  • Cela continue pour 197 critères je crois!

Pour les novices qui examinent les différentes qualifications des variables ci-dessus:

  • i, j et n sont des variables de type long. n est utilisé pour countr (dynamicment), le nombre de lignes dans l'set de données cible