Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Цикл в цикле - ускорить работу. - Страница 3 - Мир MS Excel

Старая форма входа
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Модератор форума: китин, _Boroda_  
Цикл в цикле - ускорить работу.
bmv98rus Дата: Понедельник, 29.01.2018, 22:07 | Сообщение № 41
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4112
Репутация: 769 ±
Замечаний: 0% ±

Excel 2013/2016
nilem, почти 26000


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщениеnilem, почти 26000

Автор - bmv98rus
Дата добавления - 29.01.2018 в 22:07
nilem Дата: Понедельник, 29.01.2018, 22:11 | Сообщение № 42
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
26000 - это... ну пусть секунды три, например
Или формул много?
upd
Увидел сообщение от ТС. Меньше секунды, норм.


Яндекс.Деньги 4100159601573

Сообщение отредактировал nilem - Понедельник, 29.01.2018, 22:13
 
Ответить
Сообщение26000 - это... ну пусть секунды три, например
Или формул много?
upd
Увидел сообщение от ТС. Меньше секунды, норм.

Автор - nilem
Дата добавления - 29.01.2018 в 22:11
ovechkin1973 Дата: Понедельник, 29.01.2018, 22:24 | Сообщение № 43
Группа: Проверенные
Ранг: Обитатель
Сообщений: 429
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Или формул много?
upd
Увидел сообщение от ТС. Меньше секунды, норм.

Формулы есть.. на двух листах, с которыми макрос и работает. Формула сращивания текста из 15 ячеек строки в 22 ячейку.. после я ее растягиваю вниз до 26000 строки. После копирую этот столбец и вставляю данные в 23 столбец (по другому не знаю, как уникальность строки показать для макроса.


Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
 
Ответить
Сообщение
Или формул много?
upd
Увидел сообщение от ТС. Меньше секунды, норм.

Формулы есть.. на двух листах, с которыми макрос и работает. Формула сращивания текста из 15 ячеек строки в 22 ячейку.. после я ее растягиваю вниз до 26000 строки. После копирую этот столбец и вставляю данные в 23 столбец (по другому не знаю, как уникальность строки показать для макроса.

Автор - ovechkin1973
Дата добавления - 29.01.2018 в 22:24
ovechkin1973 Дата: Вторник, 30.01.2018, 03:22 | Сообщение № 44
Группа: Проверенные
Ранг: Обитатель
Сообщений: 429
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
это вариант работает 283 секунды в моем варианте..
А вот вариант nilem, после того, как я перенес данные из одной книги в другую (видимо были какие то форматы) и она стала "весить" в полтора раз меньше стал работать меньше секунды.. ничего не понимаю... что могло раньше так тормозить? Надо делать перекур мозгу.. не рассчитан он на такие высокие технологии

Похоже, что насчет времени работы макроса alex77755, я дал не верную информацию. Я применил макрос без правки в 21 посту.. Вчера поправил и запустил макрос. Работал он 41:18 (чего то долго) и самое главное, что результаты совершенно разные получились на листе НКУ (я про количество совпадения) - Вариант alex77755, чуть больше значений находит %)


Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
 
Ответить
Сообщение
это вариант работает 283 секунды в моем варианте..
А вот вариант nilem, после того, как я перенес данные из одной книги в другую (видимо были какие то форматы) и она стала "весить" в полтора раз меньше стал работать меньше секунды.. ничего не понимаю... что могло раньше так тормозить? Надо делать перекур мозгу.. не рассчитан он на такие высокие технологии

Похоже, что насчет времени работы макроса alex77755, я дал не верную информацию. Я применил макрос без правки в 21 посту.. Вчера поправил и запустил макрос. Работал он 41:18 (чего то долго) и самое главное, что результаты совершенно разные получились на листе НКУ (я про количество совпадения) - Вариант alex77755, чуть больше значений находит %)

Автор - ovechkin1973
Дата добавления - 30.01.2018 в 03:22
alex77755 Дата: Вторник, 30.01.2018, 10:53 | Сообщение № 45
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

Цитата
Работал он 41:18

сколько строк в таблицах?
26000 обрабатывает не больше 3с

Цитата
и мне нужно в 30 столбцах обоих листов поставить число 1

если бы Названия городов были уникальны, то не проблема. А вот если, как у вас, дубли имеются в обоих таблицах, то объясните о какой нумерации вы говорите?!
Поэтому я и вывел в обоих таблицах номера строк, в которых значение встречается в противоположной странице

Цитата
можно сделать закраску найденных повторов в ячейке первой на обоих листах?

Можно сделать всё! Но я считаю ексел табличным редактором, а не раскраской из Мурзилки.
И при больших объёмах надо делать выбор: время работы или раскраска.


Могу помочь в VB6, VBA
Alex77755@mail.ru


Сообщение отредактировал alex77755 - Вторник, 30.01.2018, 11:07
 
Ответить
Сообщение
Цитата
Работал он 41:18

сколько строк в таблицах?
26000 обрабатывает не больше 3с

Цитата
и мне нужно в 30 столбцах обоих листов поставить число 1

если бы Названия городов были уникальны, то не проблема. А вот если, как у вас, дубли имеются в обоих таблицах, то объясните о какой нумерации вы говорите?!
Поэтому я и вывел в обоих таблицах номера строк, в которых значение встречается в противоположной странице

Цитата
можно сделать закраску найденных повторов в ячейке первой на обоих листах?

Можно сделать всё! Но я считаю ексел табличным редактором, а не раскраской из Мурзилки.
И при больших объёмах надо делать выбор: время работы или раскраска.

Автор - alex77755
Дата добавления - 30.01.2018 в 10:53
ovechkin1973 Дата: Вторник, 30.01.2018, 19:02 | Сообщение № 46
Группа: Проверенные
Ранг: Обитатель
Сообщений: 429
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
сколько строк в таблицах?
26000 обрабатывает не больше 3с

Уважаемый alex77755, вы наверно правы, но чего то в голове не так или на компах.. я запускал один и тот же файл и всегда время разное.. от секунды до трех минут в среднем.. 41 минуту было только один раз вчера дома и почему не представляю. По экспериментирую и отпишусь.


Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
 
Ответить
Сообщение
сколько строк в таблицах?
26000 обрабатывает не больше 3с

Уважаемый alex77755, вы наверно правы, но чего то в голове не так или на компах.. я запускал один и тот же файл и всегда время разное.. от секунды до трех минут в среднем.. 41 минуту было только один раз вчера дома и почему не представляю. По экспериментирую и отпишусь.

Автор - ovechkin1973
Дата добавления - 30.01.2018 в 19:02
ovechkin1973 Дата: Вторник, 30.01.2018, 20:12 | Сообщение № 47
Группа: Проверенные
Ранг: Обитатель
Сообщений: 429
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Уважаемый alex77755, посмел товарища попросить доработать Ваш макрос, чтобы нумерация была сквозная.. вроде работает.


Макрос Уважаемого nilem, тоже отлично работает


Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.

Сообщение отредактировал Pelena - Вторник, 30.01.2018, 21:42
 
Ответить
СообщениеУважаемый alex77755, посмел товарища попросить доработать Ваш макрос, чтобы нумерация была сквозная.. вроде работает.


Макрос Уважаемого nilem, тоже отлично работает

Автор - ovechkin1973
Дата добавления - 30.01.2018 в 20:12
ovechkin1973 Дата: Вторник, 30.01.2018, 21:45 | Сообщение № 48
Группа: Проверенные
Ранг: Обитатель
Сообщений: 429
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
а файлик можно?

Так точно Уважаемый.
К сообщению приложен файл: 6550464.xlsm (33.0 Kb)


Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
 
Ответить
Сообщение
а файлик можно?

Так точно Уважаемый.

Автор - ovechkin1973
Дата добавления - 30.01.2018 в 21:45
nilem Дата: Среда, 31.01.2018, 08:35 | Сообщение № 49
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Данные растянул на 55000 строк, колонку "Кол-во полюсов" заполнил случайными =СЛУЧМЕЖДУ(1;1000), чтобы было больше разных ключей.
Время выполнения 3,3...3,4 сек.

файл весит 10,5 Мб, выложить не могу :)


Яндекс.Деньги 4100159601573

Сообщение отредактировал nilem - Среда, 31.01.2018, 08:38
 
Ответить
СообщениеДанные растянул на 55000 строк, колонку "Кол-во полюсов" заполнил случайными =СЛУЧМЕЖДУ(1;1000), чтобы было больше разных ключей.
Время выполнения 3,3...3,4 сек.

файл весит 10,5 Мб, выложить не могу :)

Автор - nilem
Дата добавления - 31.01.2018 в 08:35
ovechkin1973 Дата: Среда, 31.01.2018, 18:32 | Сообщение № 50
Группа: Проверенные
Ранг: Обитатель
Сообщений: 429
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Время выполнения 3,3...3,4 сек.

nilem, ! Я в шоке.. приятном.. на рабочем компе 1 секунда с мелочью на выполнение макроса. На домашнем чуть быстрее. Строк на двух листах по 25000, совпадений половину находит. Много для меня в коде не понятно совершенно, но что и где поменять, чтобы в нужный столбец данные выгружались или задать другие ячейки в качестве уникальной "суммы" (сращивания) ячеек смогу.


Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
 
Ответить
Сообщение
Время выполнения 3,3...3,4 сек.

nilem, ! Я в шоке.. приятном.. на рабочем компе 1 секунда с мелочью на выполнение макроса. На домашнем чуть быстрее. Строк на двух листах по 25000, совпадений половину находит. Много для меня в коде не понятно совершенно, но что и где поменять, чтобы в нужный столбец данные выгружались или задать другие ячейки в качестве уникальной "суммы" (сращивания) ячеек смогу.

Автор - ovechkin1973
Дата добавления - 31.01.2018 в 18:32
ovechkin1973 Дата: Среда, 31.01.2018, 19:11 | Сообщение № 51
Группа: Проверенные
Ранг: Обитатель
Сообщений: 429
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Уважаемый alex77755, после доработки Вашего макроса для последовательной нумерации (товарищ помог) он работает 17 секунд, но вчера он работа всего 1,5 секунды.. что я сделал с файлом не пойму.. пустых строк точно нет.. проверял.

И еще заметил, что макрос отрабатывает до 30000 сроки на обоих листах, хотя данных на 25000 на обоих листах. В макрос товарищем доработанном не нашел проблему (не удивительно в принципе для меня)


Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
 
Ответить
СообщениеУважаемый alex77755, после доработки Вашего макроса для последовательной нумерации (товарищ помог) он работает 17 секунд, но вчера он работа всего 1,5 секунды.. что я сделал с файлом не пойму.. пустых строк точно нет.. проверял.

И еще заметил, что макрос отрабатывает до 30000 сроки на обоих листах, хотя данных на 25000 на обоих листах. В макрос товарищем доработанном не нашел проблему (не удивительно в принципе для меня)

Автор - ovechkin1973
Дата добавления - 31.01.2018 в 19:11
ovechkin1973 Дата: Среда, 31.01.2018, 19:35 | Сообщение № 52
Группа: Проверенные
Ранг: Обитатель
Сообщений: 429
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
alex77755, чего то не то в моем "колхозе". Только что два раза с подряд, Ваш доработанный для нумерации последовательной макрос работал ровно по секунде.
nilem, Ваш макрос, после того как попользовался макросом alex77755, стал работать 185 секунд!!! проверил 2 раза с подряд.
Может что то где то нужно чистить? Память? Или мне мозг?
После файл закрыл-открыл и оба макроса попробовал более пяти раз в разной очередности - всегда по секунде работает %) %) %)


Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
 
Ответить
Сообщениеalex77755, чего то не то в моем "колхозе". Только что два раза с подряд, Ваш доработанный для нумерации последовательной макрос работал ровно по секунде.
nilem, Ваш макрос, после того как попользовался макросом alex77755, стал работать 185 секунд!!! проверил 2 раза с подряд.
Может что то где то нужно чистить? Память? Или мне мозг?
После файл закрыл-открыл и оба макроса попробовал более пяти раз в разной очередности - всегда по секунде работает %) %) %)

Автор - ovechkin1973
Дата добавления - 31.01.2018 в 19:35
alex77755 Дата: Среда, 31.01.2018, 20:22 | Сообщение № 53
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

Вне зависимости от нас работает куча программ и процессов. И что там они делают мало кому известно. Но ресурсы-то жрут!
Так же лезут в интернет. Проверяют обновления, обновляются. и т.д. и т.п.!


Могу помочь в VB6, VBA
Alex77755@mail.ru
 
Ответить
СообщениеВне зависимости от нас работает куча программ и процессов. И что там они делают мало кому известно. Но ресурсы-то жрут!
Так же лезут в интернет. Проверяют обновления, обновляются. и т.д. и т.п.!

Автор - alex77755
Дата добавления - 31.01.2018 в 20:22
ovechkin1973 Дата: Четверг, 01.02.2018, 03:18 | Сообщение № 54
Группа: Проверенные
Ранг: Обитатель
Сообщений: 429
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Вне зависимости от нас работает куча программ и процессов

Не вериться даже... ну не в 180 раз же хуже должно становиться.. да и комп у меня достаточно приличный.. Может по случаю и найду причину. Я забыл написать еще, что в те разы, когда комп долго считал расчеты выходили за диапазан строк на листах. Т.е. строк по 25000, а макрос отрабатывал до 30000. В макросах ничего не менял. На листах стараюсь всегда пустые строки удалять...


Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
 
Ответить
Сообщение
Вне зависимости от нас работает куча программ и процессов

Не вериться даже... ну не в 180 раз же хуже должно становиться.. да и комп у меня достаточно приличный.. Может по случаю и найду причину. Я забыл написать еще, что в те разы, когда комп долго считал расчеты выходили за диапазан строк на листах. Т.е. строк по 25000, а макрос отрабатывал до 30000. В макросах ничего не менял. На листах стараюсь всегда пустые строки удалять...

Автор - ovechkin1973
Дата добавления - 01.02.2018 в 03:18
alex77755 Дата: Четверг, 01.02.2018, 05:44 | Сообщение № 55
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

Цитата
И еще заметил, что макрос отрабатывает до 30000 сроки на обоих листах

как? разве макрос где-то показывает количество строк?


Могу помочь в VB6, VBA
Alex77755@mail.ru
 
Ответить
Сообщение
Цитата
И еще заметил, что макрос отрабатывает до 30000 сроки на обоих листах

как? разве макрос где-то показывает количество строк?

Автор - alex77755
Дата добавления - 01.02.2018 в 05:44
ovechkin1973 Дата: Четверг, 01.02.2018, 16:34 | Сообщение № 56
Группа: Проверенные
Ранг: Обитатель
Сообщений: 429
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
разве макрос где-то показывает количество строк?

как выяснилось да. В моем рабочем файле в отдельном модуле есть макрос на очистку столбцов, в которые ваши макросы записывают номера.. в нем у меня есть строки
[vba]
Код
Sheets("остальные сборочки").Range("AD3:AD30000").ClearContents
    Sheets("остальные сборочки").Range("A3:A30000").Interior.ColorIndex = xlNone
   
[/vba]
Если при открытии файла не пользоваться очисткой этим макросом, то все нормально. Если этот макрос запускался, то после него Ваш макрос работает долго и результаты выводит даже ниже, чем строки с данными есть


Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
 
Ответить
Сообщение
разве макрос где-то показывает количество строк?

как выяснилось да. В моем рабочем файле в отдельном модуле есть макрос на очистку столбцов, в которые ваши макросы записывают номера.. в нем у меня есть строки
[vba]
Код
Sheets("остальные сборочки").Range("AD3:AD30000").ClearContents
    Sheets("остальные сборочки").Range("A3:A30000").Interior.ColorIndex = xlNone
   
[/vba]
Если при открытии файла не пользоваться очисткой этим макросом, то все нормально. Если этот макрос запускался, то после него Ваш макрос работает долго и результаты выводит даже ниже, чем строки с данными есть

Автор - ovechkin1973
Дата добавления - 01.02.2018 в 16:34
alex77755 Дата: Четверг, 01.02.2018, 19:30 | Сообщение № 57
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

вот откуда 30000 взялось!
Добавьте в макрос очистки сохранение книги - будет работать быстрей. и не до 30000 строк


Могу помочь в VB6, VBA
Alex77755@mail.ru
 
Ответить
Сообщениевот откуда 30000 взялось!
Добавьте в макрос очистки сохранение книги - будет работать быстрей. и не до 30000 строк

Автор - alex77755
Дата добавления - 01.02.2018 в 19:30
ovechkin1973 Дата: Четверг, 01.02.2018, 19:38 | Сообщение № 58
Группа: Проверенные
Ранг: Обитатель
Сообщений: 429
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Добавьте в макрос очистки сохранение книги - будет работать быстрей. и не до 30000 строк

не совсем понял Вас.. я переделал очистку до последних строк с данными на каждом листе (товарищ помог - у самого не хватило тяму). Сейчас работает нормально.. Но очистка на двух листах по столбу почти в 200 раз дольше макросов, которые участники этой темы мне сделали %) . Но это уже мелочи... будет критично -сделаю новую тему.


Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
 
Ответить
Сообщение
Добавьте в макрос очистки сохранение книги - будет работать быстрей. и не до 30000 строк

не совсем понял Вас.. я переделал очистку до последних строк с данными на каждом листе (товарищ помог - у самого не хватило тяму). Сейчас работает нормально.. Но очистка на двух листах по столбу почти в 200 раз дольше макросов, которые участники этой темы мне сделали %) . Но это уже мелочи... будет критично -сделаю новую тему.

Автор - ovechkin1973
Дата добавления - 01.02.2018 в 19:38
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!