powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Оптимизировать код
11 сообщений из 11, страница 1 из 1
Оптимизировать код
    #38035880
alexey_grigorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
KVED = Worksheets("KVED").Cells(Rows.Count, 2).End(xlUp).Row
    KVEDÃîòîâ = Worksheets("Ãîòîâ").Cells(Rows.Count, 1).End(xlUp).Row
For i = 4 To KVEDÃîòîâ
            x = 2
            Do While x < KVED
            If Worksheets("&#195;&#238;&#242;&#238;&#226;").Range("B" & i) = Worksheets("KVED").Range("A" & x) Then
                Worksheets("&#195;&#238;&#242;&#238;&#226;").Range("D" & i) = Worksheets("KVED").Range("B" & x)
            End If
            x = x + 1
            Loop
        Next i



Вот такая маленька прога а считает минут 10 ((. Что не так? Может надо как то память очищать, перед ней работает еще одна огромная прога, может это влиять?
...
Рейтинг: 0 / 0
Оптимизировать код
    #38035921
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а че, формулами нельзя?
...
Рейтинг: 0 / 0
Оптимизировать код
    #38035925
alexey_grigorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PlanB,

Может и можно, но не знаю как )
...
Рейтинг: 0 / 0
Оптимизировать код
    #38035926
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если одно < даругого, то третья. дайте пример данных
...
Рейтинг: 0 / 0
Оптимизировать код
    #38035932
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexey_grigorov,
скорее всего много лишних сравнений/изменений во вложенном цикле
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
KVED = Worksheets("KVED").Cells(Rows.Count, 2).End(xlUp).Row
KVED&#195;&#238;&#242;&#238;&#226; = Worksheets("&#195;&#238;&#242;&#238;&#226;").Cells(Rows.Count, 1).End(xlUp).Row

Dim ZZ

For i = 4 To KVED&#195;&#238;&#242;&#238;&#226;
    ZZ = Worksheets("&#195;&#238;&#242;&#238;&#226;").Cells(i, 2)
    x = KVED - 1
    Do Until x < 2
      If ZZ = Worksheets("KVED").Cells(x, 1) Then
          Worksheets("&#195;&#238;&#242;&#238;&#226;").Cells(i, 4) = Worksheets("KVED").Cells(x, 2)
          Exit Do
      End If
      x = x - 1
    Loop
Next i

...
Рейтинг: 0 / 0
Оптимизировать код
    #38035936
alexey_grigorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PlanB,
Код: xml
1.
2.
3.
4.
5.
6.
A		01.11	Вирощування зернових та технiчних культур	ВЫРАЩИВАНИЕ ЗЕРНОВЫХ, ТЕХНИЧЕСКИХ И ПРОЧИХ КУЛЬТУР, НЕ ОТНЕСЕННЫХ К ДРУГИМ КЛАССАМ РАСТЕНИЕВОДСТВА
A		01.11.0	Вирощування зернових та технiчних культур	ВЫРАЩИВАНИЕ ЗЕРНОВЫХ ТЕХНИЧЕСКИХ И ПРОЧИХ КУЛЬТУР, НЕ ОТНЕСЕННЫХ К ДРУГИМ КЛАССАМ РАСТЕНИЕВОДСТВА
A		01.12	Овочiвництво, декоративне садiвництво та вирощування продукцiї розсадникiв	ОВОЩЕВОДСТВО, ДЕКОРАТИВНОЕ САДОВОДСТВО И ВЫРАЩИВАНИЕ ПРОДУКЦИИ ПИТОМНИКОВ
A		01.12.0	Овочiвництво, декоративне садiвництво та вирощування продукцiї розсадникiв	ОВОЩЕВОДСТВО, ДЕКОРАТИВНОЕ САДОВОДСТВО И ВЫРАЩИВАНИЕ ПРОДУКЦИИ ПИТОМНИКОВ
A		01.13	Вирощування фруктiв, ягiд, горiхiв, культур для виробництва напоїв i прянощiв	ВЫРАЩИВАНИЕ ФРУКТОВ, ЯГОД, ОРЕХОВ, КУЛЬТУР ДЛЯ ПРОИЗВОДСТВА НАПИТКОВ И ПРЯНОСТЕЙ
A		01.13.0	Вирощування фруктiв, ягiд, горiхiв, культур для виробництва напоїв i прянощiв	ВЫРАЩИВАНИЕ ФРУКТОВ, ЯГОД, ОРЕХОВ, КУЛЬТУР ДЛЯ ПРОИЗВОДСТВА НАПИТКОВ И ПРЯНОСТЕЙ



Код: xml
1.
2.
3.
4.
5.
6.
7.
21216224	52.11.0
21218217	52.12.0
21218246	28.11.0
21218884	70.20.0
21218890	36.14.0
8794028	75.25.0
23911603	63.21.1
...
Рейтинг: 0 / 0
Оптимизировать код
    #38035987
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Судя по всему, нужен обычный ВПР() ...
...
Рейтинг: 0 / 0
Оптимизировать код
    #38036076
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexey_grigorov, а что, файл excel нельзя было создать? вот я лично тут вообще нихрена не понимаю.

AndreTM, +100500 и нефиг даже нажимать alt+f11
...
Рейтинг: 0 / 0
Оптимизировать код
    #38036116
alexey_grigorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скукотища,

Спасибо! с 15 до 2 минут ускорился просчет!
...
Рейтинг: 0 / 0
Оптимизировать код
    #38036119
alexey_grigorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PlanB,

Та там он огромнейший просто! )
...
Рейтинг: 0 / 0
Оптимизировать код
    #38036966
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexey_grigorovТа там он огромнейший просто! )И что? Если список KVED упорядочен, то функции листа будут работать ничуть не медленнее вашего кода.
Другое дело, имеет смысл использовать собственную функцию, если вам не нужна полная интерактивность - поскольку у вас список KVED[чего-то там] может содержать очень много строк, и проще один раз пересчитать. Но и в этом случае "самописного" не нужно - просто пробегаете по списку и подставляете ВПР() программно, сразу же заменяя формулу значением...
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Оптимизировать код
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]