alex77755, что нужно в коде поменять в коде, чтобы в 30 столбец ставились данные из столбца 23 другого листа? И Вы не против, что я создам другую тему, чтобы по последнему вашему макросу поспрашивать. По правилам форума, одна тема - один вопрос.. а у меня уже наверно перебор. Если да, то ссылку в последнем посту сделаю на новую тему..
alex77755, что нужно в коде поменять в коде, чтобы в 30 столбец ставились данные из столбца 23 другого листа? И Вы не против, что я создам другую тему, чтобы по последнему вашему макросу поспрашивать. По правилам форума, одна тема - один вопрос.. а у меня уже наверно перебор. Если да, то ссылку в последнем посту сделаю на новую тему..ovechkin1973
Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
я не совсем понял что надо получить. Предложил вариант. Надо поправить
не удивительно.. сам не совсем понял, что в 25 посту попросил сделать... трезвый, отдохнувший.. а бредовые вопросы задаю. Долго до меня доходило.. Ваш макрос похоже все сравнивает нормально.. Но я не правильно описал то, что хочу получить в 30 столбцах. Попробую еще раз, если у Вас терпение еще есть.. Допустим на листе "остальные сборочки" в столбце 23 берет название города и ищет его на листе НКУ в столбце 23. Так сейчас и работает. Дак вот... город на листе "остальные сборочки" берется в начала таблицы со строки 3 столбца 23 и мне нужно в 30 столбцах обоих листов поставить число 1, если этот город нашелся на обоих листах в столбце 23. Далее берем город с 4 строки и повторяем поиск.. если он находиться, то в 30-х столбцах ставим 2 и т.д. Мне нужна в 30х столбцах последовательная нумерация.. В приложенном примере выделил зеленым столбы, как хотелось бы видеть результат работы макроса
я не совсем понял что надо получить. Предложил вариант. Надо поправить
не удивительно.. сам не совсем понял, что в 25 посту попросил сделать... трезвый, отдохнувший.. а бредовые вопросы задаю. Долго до меня доходило.. Ваш макрос похоже все сравнивает нормально.. Но я не правильно описал то, что хочу получить в 30 столбцах. Попробую еще раз, если у Вас терпение еще есть.. Допустим на листе "остальные сборочки" в столбце 23 берет название города и ищет его на листе НКУ в столбце 23. Так сейчас и работает. Дак вот... город на листе "остальные сборочки" берется в начала таблицы со строки 3 столбца 23 и мне нужно в 30 столбцах обоих листов поставить число 1, если этот город нашелся на обоих листах в столбце 23. Далее берем город с 4 строки и повторяем поиск.. если он находиться, то в 30-х столбцах ставим 2 и т.д. Мне нужна в 30х столбцах последовательная нумерация.. В приложенном примере выделил зеленым столбы, как хотелось бы видеть результат работы макросаovechkin1973
Просто интересно, как поведет себя на реальных данных простой формульный вариант.
bmv98rus, а если в реальной таблице на обоих листах по 25000 строк.... комп не уснет в нирване расчетов? и так с таким файлом после каждого действия жду по 5-10 минут
Просто интересно, как поведет себя на реальных данных простой формульный вариант.
bmv98rus, а если в реальной таблице на обоих листах по 25000 строк.... комп не уснет в нирване расчетов? и так с таким файлом после каждого действия жду по 5-10 минут ovechkin1973
Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
Дайте данные , я сам свой комп буду баюкать :-). 25000 строк по современным меркам не много, а вот то что встроенные функции, написанные на C и оптимизированные и работают быстро - это факт.
Дайте данные , я сам свой комп буду баюкать :-). 25000 строк по современным меркам не много, а вот то что встроенные функции, написанные на C и оптимизированные и работают быстро - это факт.bmv98rus
Замечательный Временно просто медведь , процентов на 20.
Сообщение отредактировал bmv98rus - Воскресенье, 28.01.2018, 21:38
Уважаемые Экселеводы.. Уважаемый alex77755, или не выдержал моих глупых вопросов (переделок задания) или занят и не до форума ему.. но я сам не смогу подправить макрос, что он сделал так, как я написал в посту 27.. Есть рабочий макрос от bmv98rus, , но он к сожалению работает на моем файле час почти.. То, что сделал alex77755, работает 3-4 минуты..
Уважаемые Экселеводы.. Уважаемый alex77755, или не выдержал моих глупых вопросов (переделок задания) или занят и не до форума ему.. но я сам не смогу подправить макрос, что он сделал так, как я написал в посту 27.. Есть рабочий макрос от bmv98rus, , но он к сожалению работает на моем файле час почти.. То, что сделал alex77755, работает 3-4 минуты..ovechkin1973
Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
Черт , все время забываю, что с мобилы смайлы ставить нельзя. Мало того, что серьезно получилось, так еще и вторая часть пропала. Ну с формулами понятно, медленно и не подойдет. А принципиально VBA или например можно посомтреть в сторону PowerQuery?
Черт , все время забываю, что с мобилы смайлы ставить нельзя. Мало того, что серьезно получилось, так еще и вторая часть пропала. Ну с формулами понятно, медленно и не подойдет. А принципиально VBA или например можно посомтреть в сторону PowerQuery?bmv98rus
Замечательный Временно просто медведь , процентов на 20.
nilem, у меня просто нет слов.... ну и понимания в Вашем коде тоже.. но он сделал свою работу за 127 секунд.. проверял 4 раза.. Один раз в Ваш код добавлял отключение обновления экрана и прочее.. судя по полному отсутствию увеличению работы кода это лишнее. Наивная просьба.. можно сделать закраску найденных повторов в ячейке первой на обоих листах? Я могу маркорекодером макрос сделать, чтобы в строках, где есть число после Вашего кода в первом столбце красил.. но думаю работать это будет дольше вашего кода...
nilem, у меня просто нет слов.... ну и понимания в Вашем коде тоже.. но он сделал свою работу за 127 секунд.. проверял 4 раза.. Один раз в Ваш код добавлял отключение обновления экрана и прочее.. судя по полному отсутствию увеличению работы кода это лишнее. Наивная просьба.. можно сделать закраску найденных повторов в ячейке первой на обоих листах? Я могу маркорекодером макрос сделать, чтобы в строках, где есть число после Вашего кода в первом столбце красил.. но думаю работать это будет дольше вашего кода...ovechkin1973
Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
А принципиально VBA или например можно посомтреть в сторону PowerQuery
bmv98rus, VBA принципиально.. народ на работе Эксель на нужном уровне освоить не может, поэтому и "расхлебывать" кодом написанными профиссионалами приходиться всякие базы данных и прочее.
А принципиально VBA или например можно посомтреть в сторону PowerQuery
bmv98rus, VBA принципиально.. народ на работе Эксель на нужном уровне освоить не может, поэтому и "расхлебывать" кодом написанными профиссионалами приходиться всякие базы данных и прочее.ovechkin1973
Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
Не удивительно, словарь заполняется немного иначе. [vba]
Код
For r = 3 To UBound(arr1) 'заливаем в словарь t = arr1(r, 1) sl(t) = sl(t) & "|" & r ' запоминаем все строки с уникальными значениями arr1(r, 8) = "" 'очищаем поле результатов Next r
[/vba] или [vba]
Код
With Sheets("НКУ") x = .Range("W3", .Cells(Rows.Count, "W").End(xlUp)).Value End With ReDim yNk(1 To UBound(x), 1 To 1) With CreateObject("Scripting.Dictionary") .CompareMode = 1 For i = 1 To UBound(x) .Item(x(i, 1)) = i Next i
[/vba]
В первом случае заполняется без предварительной формулы на листе.
Не удивительно, словарь заполняется немного иначе. [vba]
Код
For r = 3 To UBound(arr1) 'заливаем в словарь t = arr1(r, 1) sl(t) = sl(t) & "|" & r ' запоминаем все строки с уникальными значениями arr1(r, 8) = "" 'очищаем поле результатов Next r
[/vba] или [vba]
Код
With Sheets("НКУ") x = .Range("W3", .Cells(Rows.Count, "W").End(xlUp)).Value End With ReDim yNk(1 To UBound(x), 1 To 1) With CreateObject("Scripting.Dictionary") .CompareMode = 1 For i = 1 To UBound(x) .Item(x(i, 1)) = i Next i
[/vba]
В первом случае заполняется без предварительной формулы на листе.bmv98rus
Замечательный Временно просто медведь , процентов на 20.
Не удивительно, словарь заполняется немного иначе. For r = 3 To UBound(arr1) 'заливаем в словарь t = arr1(r, 1) sl(t) = sl(t) & "|" & r ' запоминаем все строки с уникальными значениями arr1(r, 8) = "" 'очищаем поле результатов Next r
это вариант работает 283 секунды в моем варианте.. А вот вариант nilem, после того, как я перенес данные из одной книги в другую (видимо были какие то форматы) и она стала "весить" в полтора раз меньше стал работать меньше секунды.. ничего не понимаю... что могло раньше так тормозить? Надо делать перекур мозгу.. не рассчитан он на такие высокие технологии
Не удивительно, словарь заполняется немного иначе. For r = 3 To UBound(arr1) 'заливаем в словарь t = arr1(r, 1) sl(t) = sl(t) & "|" & r ' запоминаем все строки с уникальными значениями arr1(r, 8) = "" 'очищаем поле результатов Next r
это вариант работает 283 секунды в моем варианте.. А вот вариант nilem, после того, как я перенес данные из одной книги в другую (видимо были какие то форматы) и она стала "весить" в полтора раз меньше стал работать меньше секунды.. ничего не понимаю... что могло раньше так тормозить? Надо делать перекур мозгу.. не рассчитан он на такие высокие технологии ovechkin1973
Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.
Сообщение отредактировал ovechkin1973 - Понедельник, 29.01.2018, 22:07