Что-нибудь более эффективное, чем Союзы или Союз Союза? пожалуйста, порекомендуйте - PullRequest
0 голосов
/ 10 апреля 2019

Я создаю 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 минут.Может кто-нибудь посоветовать более эффективную альтернативу, пожалуйста?

1 Ответ

0 голосов
/ 11 апреля 2019

После перезагрузки компьютера это занимает менее 3 минут.Извините

Паника закончилась

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...