Я создаю 35 наборов следующих формул (также см. Объединяющую часть ниже):
Range("E7").Formula = "=COUNTIFS(Last100!$C:$C,E$2,Last100!$M:$M,'Data'!E$3,Last100!$A:$A,'Data'!$D7)"
Range("F7").Formula = "=COUNTIFS(Last100!$C:$C,E$2,Last100!$M:$M,'Data'!E$3,Last100!$H:$H,$D7)*-1"
Range("G7").Formula = "=COUNTIFS(Last100!$A:$A,""<=""&'Data'!$D7,Last100!$H:$H,"">""&'Data'!$D7,Last100!$C:$C,'Data'!E$2,Last100!$M:$M,'Data'!E$3)+COUNTIFS(Last100!$A:$A,""<=""&'Data'!$D7,Last100!$H:$H,""=""&""31/12/2000"",Last100!$C:$C,'Data'!E$2,Last100!$M:$M,'Data'!E$3)"
Range("H7").Formula = "=SUMIFS(Sierra_Alpha!$E:$E,Sierra_Alpha!$A:$A,'Data'!$D7,Sierra_Alpha!$B:$B,'Data'!E$2,Sierra_Alpha!$C:$C,'Data'!E$3)" 'ok
Range("I7").Formula = "=SUMIFS(Sierra_Alpha!$D:$D,Sierra_Alpha!$A:$A,'Data'!$D7,Sierra_Alpha!$B:$B,'Data'!E$2,Sierra_Alpha!$C:$C,'Data'!E$3)" 'ok
Range("J7").Formula = "=COUNTIFS(Last100!$C:$C,E$2,Last100!$M:$M,'Data'!J$3,Last100!$A:$A,'Data'!$D7)" 'ok
Range("K7").Formula = "=COUNTIFS(Last100!$C:$C,E$2,Last100!$M:$M,'Data'!J$3,Last100!$H:$H,$D7)*-1" 'ok
Range("L7").Formula = "=COUNTIFS(Last100!$A:$A,""<=""&'Data'!$D7,Last100!$H:$H,"">""&'Data'!$D7,Last100!$C:$C,'Data'!E$2,Last100!$M:$M,'Data'!J$3)+COUNTIFS(Last100!$A:$A,""<=""&'Data'!$D7,Last100!$H:$H,""=""&""31/12/2000"",Last100!$C:$C,'Data'!E$2,Last100!$M:$M,'Data'!J$3)"
Range("M7").Formula = "=SUMIFS(Sierra_Alpha!$E:$E,Sierra_Alpha!$A:$A,'Data'!$D7,Sierra_Alpha!$B:$B,'Data'!E$2,Sierra_Alpha!$C:$C,'Data'!J$3)"
Range("N7").Formula = "=SUMIFS(Sierra_Alpha!$D:$D,Sierra_Alpha!$A:$A,'Data'!$D7,Sierra_Alpha!$B:$B,'Data'!E$2,Sierra_Alpha!$C:$C,'Data'!J$3)"
Представьте, что формулы (как вы можете видеть) выровнены в строке Range = E7: N7 Теперь,этот диапазон копируется в другие 35 rXa, например, формулы из r1a = E7: N7 копируются в r2a, который охватывает еще 10 столбцов и т. д. до r35a.Затем я использую автозаполнение, чтобы заполнить 100 строк.Затем Excel вычисляет (и этот бит занимает около 15 минут), после чего я заменяю формулы значениями.Таким образом, я получаю большой стол в конце.Поэтому мне нужен совет, как сделать его более эффективным, пожалуйста.
Соединение:
Set raUnion = Union(r1a, r2a, r3a, r4a, r5a, r6a, r7a, r8a, r9a, r10a, r11a, r12a, r13a, r14a, r15a, r16a, r17a)
Set raUnion2 = Union(r18a, r19a, r20a, r21a, r22a, r23a, r24a, r25a, r26a, r27a, r28a, r29a, r30a, r31a, r32a, r33a, r34a, r35a)
Set raUnionOFUnions = Union(raUnion, raUnion2)
Set UnionaR = Range("E7:MZ7")
Для его запуска требуется около 15 минут.Может кто-нибудь посоветовать более эффективную альтернативу, пожалуйста?