Я использую этот сайт уже несколько месяцев, чтобы помочь мне начать работу в моей ранней карьере кодирования, и это мой первый пост здесь. Прошу прощения, если я пропустил этот вопрос во время поиска на форумах вчера. У меня была таблица с примерно 6 000 активных Sumifs, ссылающихся на таблицу из 500 000 строк. Как вы можете себе представить, это заняло минуту, чтобы вычислить. Я написал их в VBA, поэтому они вычисляют только тогда, когда пользователь решает это сделать. Тем не менее, с таким количеством sumifs, код занимает около 3-5 минут. Я ищу способы ускорить это для лучшего опыта конечных пользователей. Я опубликую, как я выполняю sumifs ниже. Как раз для некоторого контекста, это выполняет sumifs для одной и той же группы пользователей дважды, но с одним другим критерием. Дайте мне знать, если я оставил любую соответствующую информацию.Нужна помощь в оптимизации SUMIFS в VBA
For i = 1 To 12
Range("Emp_Utility").Offset(1, i).Activate
Do Until Cells(ActiveCell.Row, 2) = ""
ActiveCell.Value = Application.WorksheetFunction.SumIfs(Hrs, Emp, Cells(ActiveCell.Row, 2), Y, Cells(4, ActiveCell.Column), M, Cells(3, ActiveCell.Column))
ActiveCell.Offset(1, 0).Activate
Loop
Next i
For a = 1 To 12
Range("Emp_Billable").Offset(1, a).Activate
Do Until Cells(ActiveCell.Row, 30) = ""
ActiveCell.Value = Application.WorksheetFunction.SumIfs(Hrs, Emp, Cells(ActiveCell.Row, 2), Y, Cells(4, ActiveCell.Column), M, Cells(3, ActiveCell.Column), Bill, "No")
ActiveCell.Offset(1, 0).Activate
Loop
Next a
Похоже, что вы должны смотреть в сводные таблицы. – user2140261
Хотел бы я. Не достаточно динамично для того, что мне нужно. Это всего лишь один шаг нескольких в процессе экспорта мгновенных отчетов. – Clouse24