Обмен данными в Excel VBA между листами использует массивы или коллекции с элементами классов - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть Excel для ежедневного отслеживания состояния проектов, его вариантов использования и задач под ним. Существует лист «Проекты», ws «UseCases», ws «UseCasesPerUser» и один для «Details». Пользователь увидит только «Редактор» рабочего листа, где он сможет просматривать, добавлять, фильтровать и обновлять данные, а не переходить на другие рабочие листы данных. На основе событий (событие щелчка или изменения) данные должны быть записаны обратно в рабочие таблицы данных.

Редактор рабочих листов Сведения о рабочих листах

Как можно Я наиболее эффективно сделать этот обмен данными между рабочими листами? Я думал о загрузке всего этого в массив или в коллекцию элементов класса со свойствами и работать с этим. Я читал, что работа с массивами происходит намного быстрее, чем через рабочий лист.

Позвольте мне дать вам представление о томах. Количество проектов максимум 100. Я предполагаю, что количество сценариев использования будет максимум 1000 и максимум 10000 задач. На уровне задач (в том ws) есть 365 столбцов для дней года. В ws «Редакторе» я использовал бы функцию индекса (соответствия) в VBA для поиска количества часов, отработанных в столбцах дней в ws Detail. Может потребоваться отфильтровать, отредактировать данные, добавить или удалить элементы (такие как задачи или варианты использования).

Какой подход вы бы порекомендовали?

Спасибо за помощь

Грегори H

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