Здесь нет контекста, но если вы в основном зацикливаетесь и находите максимум для каждой пары, то вы делаете неправильно, особенно если вы находитесь в базе данных Access.Делать то же самое, что и SQL-запрос, гораздо быстрее и проще для разработки и оптимизации, чем пытаться найти хакерские обходные пути VBA, которые вынуждают вас работать в режиме RBAR *, который является анафемой для всех баз данных.
Итак, сначала я бы внимательно посмотрел на то, что пытается делать код, и если это в основном просто совокупности данных, которые нужно агрегировать, вам следует использовать не VBA, а SQL.
Черт, если вы хотите быть ленивым, Access уже предоставляет вам DMax
функцию домена (хотя они проблематичны, потому что они неизменно используются в VBA и, следовательно, используются в режиме RBAR).Вы действительно просто хотите, чтобы SQL выполнил всю работу и получил окончательный набор записей, который операция превращается в прямое чтение / экспорт / отображение без какой-либо дополнительной работы.
Если вы долго и усердно смотрели на код ивходные данные не из источника данных, они не запускаются в цикле (прямо или косвенно), тогда вы, конечно, можете покончить с какой-нибудь доморощенной функцией VBA или ссылаться на библиотеку Excel (предпочтительно с поздним связыванием).
1) R ow- B y- Agonizing - R ow - итерации - это крутов императивных языках.Это не так круто в декларативных языках, таких как SQL.