Я управляю проектом по управлению активами в Excel.Используя соединение с базой данных SQL, я могу импортировать большое количество планов обслуживания.
Исходя из того, что я импортирую, я заполняю несколько ячеек конкретными короткими строками и дополнительно рисую внутреннюю часть соответствующегоячейки с одним из двух цветов.Ячейки, которые позже заполняются пользователем, остаются неокрашенными.
Ячейки, заполненные с использованием данных базы данных, всегда будут окрашены
Когда я позже выполню команду, которая заполняет большое числоячеек, некоторые из этих ячеек могут быть уже заполнены пользователем или базой данных.Эти конкретные ячейки должны быть пропущены, и на данный момент мне известны три возможных метода определения, следует ли пропускать ячейку:
- Проверка с помощью базы данных (медленно): плохое решение, так как ячейки имеютуже заполнена базой данных, другой прогон будет переборщен
- Проверка, заполнена ли ячейка:
If not cell.Value = vbNullstring Then
- Проверка, окрашена ли ячейка:
If not cell.Interior.Color = vbRed Then
Теперь, поскольку теоретически количество заполненных ячеек может составлять до полумиллиона или даже больше, меня интересует разница в производительности между секундами и третьим вариантом
Есть ли заметная разница между проверкой значения ячейки в зависимости от ее внутреннего цвета?