Имя: Пароль:
1C
1С v8
Excel. Cells.Find...
0 Zixxx
 
03.05.12
19:28
В книге Excel содержится примерно 100 000 ячеек, которые содержат текст "_name_". Мне необходимо найти эти ячейки и для каждой установить определенное значение.

Сейчас я делаю это следующим образом, поиск в цикле:

Ячейка = Страница.Cells.Find("_name_");

В итоге получается нереально долго и чем дальше мы обходим цикл тем поиск замедляется, по замеру производительности этот небольшой кусок кода составляет 97% всего времени.

Подскажите как решить проблему и увеличить скорость поиска? Есть ли у кого-нибудь примеры на "ADODB.Connection"?
1 izekia
 
03.05.12
19:32
или сортируй, или делай через адо, примера естественно нет)
2 izekia
 
03.05.12
19:34
погоди, а тебе нужно установить значение в зависимости от значений в строке?
3 Zixxx
 
03.05.12
19:39
(2) В ячейке находится текст "_name_a1", я для этой ячейки указываю имя "a1", а текст "_name_a1" удаляю.
4 izekia
 
03.05.12
19:40
(3) а строки пронумерованы?
5 izekia
 
03.05.12
19:40
если порядок строк не имеет значения, то сортируй и меняй
6 izekia
 
03.05.12
19:41
хотя адо вроде должно быстрее быть, поищи пример
7 Zixxx
 
03.05.12
19:42
(6) ок, ищу пример...
8 izekia
 
03.05.12
19:44
http://www.excelfin.ru/index.php/articles/macros/58-macro-ado
я не помню, будут ли проблемы там с апдейтом строк
только это вб
9 izekia
 
03.05.12
20:05
вот на вб небольшой пример,только там инглиш
10 izekia
 
03.05.12
20:05
11 izekia
 
03.05.12
20:05
с условием, а потом ты можешь обрабатывать записи меняя значения, если я не ошибаюсь
12 Zixxx
 
03.05.12
20:33
(11) Ок, спасибо
13 Torquader
 
03.05.12
22:43
А сразу сделать именованные ячейки,чтобы просто перебрать их коллекцию и установить значения - насколько я помню - заполнение шаблона excel именно так и делается.
14 Zixxx
 
04.05.12
05:24
(13) Я сохраняю табличный документ в xls, при этом именованные ячейки пропадают. Как сделать так чтобы они сохранялись я так и не нашел.