|
|
|
оптимизация программного кода
|
|||
|---|---|---|---|
|
#18+
Вот мой код: Private Sub CommandButton1_Click() Set sh58 = ThisWorkbook.Sheets("58 счет") Set sh76 = ThisWorkbook.Sheets("76 счет") Set sh = ThisWorkbook.Sheets("Сравнения") sh.Cells.Clear sh.Cells(1, 1) = "Вексель" sh.Cells(1, 2) = "Дебет 58" sh.Cells(1, 3) = "Кредит 58" sh.Cells(1, 4) = "Дебет 76" sh.Cells(1, 5) = "Кредит 76" l = 1 For i = 2 To 51568 txt58 = sh58.Cells(i, 1) l0 = l For k = 2 To 10139 txt76 = sh76.Cells(k, 1) If txt58 = txt76 Then l = l + 1 sh.Cells(l, 1) = txt58 sh.Cells(l, 2) = sh58.Cells(i, 2) sh.Cells(l, 3) = sh58.Cells(i, 3) sh.Cells(l, 4) = sh76.Cells(k, 2) sh.Cells(l, 5) = sh76.Cells(k, 3) Exit For End If Next k If l0 = l Then sh58.Cells(i, 4) = "нет" Next i End Sub Он сравнивает данные одного листа с данными другого. Совпадающие выносит на лист Совпадения, а те которые не совпадают то на листе 58 счет проставляет нет. Данных на одном листе более 50000 строк, на другом более 10000. Проблема в том, что это все очень долго обрабатывается. Может кто подскажет как оптимизировать прогшраммный код, чтобы программа работала быстрее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2007, 11:45:44 |
|
||
|
оптимизация программного кода
|
|||
|---|---|---|---|
|
#18+
fantomm vkodor оптимизация программного кода Вы думаете я там не смотрел! Я думаю, что надо читать правила форума, а решение Вам уже подсказали, но могу ещё раз процитировать Пользователь2Да, простой перебор работает очень долго, проверено. Воспользуйся методами .Find и .FindNext, для того чтобы найти длинные номера и заменить их короткими из таблицы соответсвия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2007, 12:27:04 |
|
||
|
оптимизация программного кода
|
|||
|---|---|---|---|
|
#18+
1) попытайся применить Vlookup (ВПР) функцию листа или 2) вместо Код: plaintext 1. 2. 3. 4. Код: plaintext 3) вместо поиска на листе, сделай массив значений первой колонки и ищи в нем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2007, 12:35:23 |
|
||
|
|

start [/forum/topic.php?fid=61&fpage=277&tid=2182753]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 347ms |

| 0 / 0 |
