Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2014, 22:40   #1
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию Макрос тормозит

Парни, что не так?
Макрос тормозит ужас.
Простейший, когда мало данных работает и без ошибок, а вот запустил на все данные, через час сработал и ещё с ошибкой!!
Удалил первое значение, а сдвига не было и стал нафиг.
Код:
Sub поиск()
Application.EnableEvents = False
Application.ScreenUpdating = False
a: For y = 1 To 531552
    If Cells(1, 2) = Cells(y, 1) Then Cells(y, 3) = 0
        Next: Cells(1, 2).Delete Shift:=xlUp
            If Cells(1, 2) = "" Then
                Else
                y = 1: GoTo a
            End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
В столбце А-А 531552 строк, а в столбце В-В 378987
Беру первое значение в В1 ищу такое же в А-А, если нет такого значения удаляю В1 со сдвигом вверх, если нашёл, ставить метку Cells(y, 3) = 0 и также удаляет и т. д.

Чё ему сцуки надо, чё так долго??

Последний раз редактировалось valerij; 28.10.2014 в 22:43.
valerij вне форума Ответить с цитированием
Старый 28.10.2014, 22:58   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

шедеврально!
перлы через строку, добавил в избранное

на твой стандартный вопрос
Цитата:
что не так?
у меня стандартный ответ:
- выгони того, кто это писал с работы, найми программиста - все станет на свои места.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 28.10.2014, 23:08   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
Сообщение от valerij Посмотреть сообщение
Парни, что не так?
Чё ему сцуки надо, чё так долго??
Валера,он словаря просит.

Игорь,он сам себя не выгонит
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 28.10.2014, 23:10   #4
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
- выгони того, кто это писал с работы, найми программиста - все станет на свои места.
Игорь, лучше бы подсказал как мне сделать.
Нет у меня программиста, акром как тут
Я пробовал, просто ранее никогда не приходилось таким заниматься.

Не, конечно, если там макрос буде огромный, то не надо...

Цитата:
Сообщение от doober Посмотреть сообщение
Валера,он словаря просит.
Чё ещё за словарь, мать его!!!

Хоть алгоритм поиска дайте....

Последний раз редактировалось valerij; 28.10.2014 в 23:12.
valerij вне форума Ответить с цитированием
Старый 28.10.2014, 23:31   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

я использую такой алгоритм поиска:
ищу пока находятся, как только перестало находиться - прекращаю поиск (чтобы компьютер отдохнул)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 28.10.2014, 23:37   #6
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
я использую такой алгоритм поиска:
ищу пока находятся, как только перестало находиться - прекращаю поиск (чтобы компьютер отдохнул)
Спасибо за конкретную помощь....
valerij вне форума Ответить с цитированием
Старый 28.10.2014, 23:39   #7
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Алгоритм здесь бывает часто этот
1. считываешь один столбец в массив одной строкой
2. грузишь в словарь ("Scripting.Dictionary")
3. считываешь другой столбец в массив
4. идешь в цикле по массиву с проверкой наличия в словаре
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 28.10.2014, 23:44   #8
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Цитата:
Беру первое значение в В1 ищу такое же в А-А, если нет такого значения удаляю В1 со сдвигом вверх, если нашёл, ставить метку Cells(y, 3) = 0 и также удаляет и т. д.
Лучше бы озвучил задачу, а не свой способ её решения
Да и кусочек файла не помешал бы
Кстати и считывать, раз данные на одном листе можно все сразу, а не по столбцам
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 28.10.2014, 23:52   #9
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от alex77755 Посмотреть сообщение
Лучше бы озвучил задачу, а не свой способ её решения
Да и кусочек файла не помешал бы
Кстати и считывать, раз данные на одном листе можно все сразу, а не по столбцам
Задача - удалить в столбце В-В несовпадающие значения в столбце А-А, а те, которые совпали, оставить.
(которые совпали, оставить - я не знаю как, поэтому делал метку 0)
Вот прикрепил, там мой макрос почему-то работает, если не понятно изложил задачу, запустит макрос и поймёте итог.
Спасибо.
Вложения
Тип файла: rar Кн.rar (12.0 Кб, 6 просмотров)
valerij вне форума Ответить с цитированием
Старый 29.10.2014, 00:01   #10
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Дубли могут быть?
И оставлять как? По порядку в колонке или напротив в колонке А?
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тормозит программа Кротяка C++ Builder 5 22.05.2013 20:08
Тормозит glebast Помощь студентам 10 27.04.2012 21:48
Тормозит компьютер BlackOff_Max Компьютерное железо 9 10.03.2012 22:46
тормозит макрос после первой печати данного документа SergeiK Microsoft Office Excel 11 12.05.2011 22:50
Системник тормозит Dreanks Компьютерное железо 0 21.08.2010 10:49