200 / 98 / 2
Регистрация: 24.09.2011
Сообщений: 261
|
|||||||||||
1 | |||||||||||
Перебор ячеек с удалениями: требуется code review17.06.2012, 00:40. Показов 2192. Ответов 7
Метки нет (Все метки)
Коллеги, хочу обсудить мое завтрашнее задание:
Первый столбец заполнен текстом. Это, примерно, диапазон от [A1:A95232] - по предложению на русском языке в каждой ячейке. Надо перебрать ячейки; найти среди них те, в которых есть не_черные буквы, и перенести их в начало столбца (порядок соблюдать не обязательно) Лучший вариант, который я придумал, выглядит так:
PS: для ускорения работы макроса (все таки объемы данных там большие) я думаю копировать не по одной ячейке, а максимально большими диапазонами. А больше среди моих опилок идей нет - жду ваших ^_^ Добавлено через 7 минут Был еще вариант
0
|
17.06.2012, 00:40 | |
Ответы с готовыми решениями:
7
Code Review Code Review Нужен CODE REVIEW Как делать code review? |
призрак
|
|
17.06.2012, 00:48 | 2 |
ничего не понял.
Не по теме: наверно, евро-2012 на меня так подействовал. пишешь про буквы, проверяешь ячейку целиком. всё-таки - цвета букв в одной ячейке могут быть разными или нет? ну и по мелочи - вначале пишешь про столбец А, в коде - столбец С... первая мысль - использовать таки массивы. пс. с примерчиком данных в xls было бы проще понять, да и тестировать.
1
|
17.06.2012, 00:53 | 3 |
Замечания:
У Вас столбцы двигаются то туда, то обратно - не проще ли держать данные на отдельном листе? Столбец B вообще записываются данные, а потом стираются. Может, я чего-то не понимаю. Думаю, про команды ускорения работы с ячейками Вы в курсе Как ускорить выполнение кода Во всех случаях запись в массив "цветных" предложений, а затем в конце рассчетов его транспонирование целиком на лист гораздо быстрее, чем постоянная дозапись в ячейки. Операция Cut, тобишь вырезка, работа с буфером - здесь полагаю теряете максимум, избавляйтесь от такого - go сразу в массив. P.S. Если нужно вырезать отдельные буквы быстрее будет обработка текста через цикл и команды MID.
1
|
призрак
|
||||||
17.06.2012, 01:35 | 4 | |||||
этот вопрос снят. mea culpa
Добавлено через 21 минуту попробуй так:
1
|
200 / 98 / 2
Регистрация: 24.09.2011
Сообщений: 261
|
|
17.06.2012, 01:48 [ТС] | 5 |
Чтобы не проверять цвет каждой буквы по отдельности, я проверяю цвет всех букв ячейки сразу
да, могут! Именно в этом и состоит задача макроса: найти ячейки, в которых есть цветные буквы (не черные)
Сообщение от Diskretor
Сообщение от Diskretor
Сообщение от Diskretor
Сообщение от Diskretor
ikki, тестовый файл постараюсь завтра выложить Добавлено через 2 минуты отличная идея! Попробую Добавлено через 6 минут ikki, Diskretor, я только не понял, как вы предлагаете тут использовать массивы? Записывать в них строки из ячеек? Тогда потеряется информация о цвете
0
|
призрак
|
||||||
17.06.2012, 01:55 | 6 | |||||
слишком поздно - я уже свой примерчик состряпал.
завтра жду полный отчет по скорости выполнения предложенного варианта Добавлено через 5 минут немножко подправил - почистил код от ненужного:
1
|
200 / 98 / 2
Регистрация: 24.09.2011
Сообщений: 261
|
||||||
17.06.2012, 02:00 [ТС] | 7 | |||||
Сообщение от ikki
Добавлено через 5 минут ikki, а зачем там массив? По-моему можно и без него обойтись
0
|
призрак
|
|
17.06.2012, 02:06 | 8 |
тебя, кажется, скорость интересовала?
обращение к ячейкам происходит медленнее, чем запись значения в массив. к сожалению, цвет символов в массив одной командой запихнуть нельзя - приходится лазить на лист. а единички-двоечки писать поячеечно - нужды нет (но, конечно же, можно) при желании - потестируй оба варианта на время. на больших объемах - разница будет заметна.
1
|
17.06.2012, 02:06 | |
17.06.2012, 02:06 | |
Помогаю со студенческими работами здесь
8
Code Review игры Тетрис [Code review] Реализация INotifyPropertyChanged Нужен Code Review, коллеги [Code review] ООП ошибки [Code review] Задача о сумме элементов Односвязный кольцевой список [code review] Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Какой язык программирования лучший для разработки нейронных сетей
InfoMaster 20.01.2025
В современном мире технологий искусственные нейронные сети становятся неотъемлемой частью множества инновационных решений, от распознавания речи до автоматического управления транспортными. . .
|
Как подключить JavaScript файл в другом JavaScript файле
InfoMaster 20.01.2025
В современной веб-разработке организация кодовой базы играет ключевую роль в создании масштабируемых и поддерживаемых приложений. Модульность и правильное структурирование кода стали неотъемлемыми. . .
|
Как откатить изменения в исходниках, не внесенные в Git
InfoMaster 20.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с необходимостью отменить внесенные изменения в исходном коде. Особенно актуальной становится ситуация, когда изменения еще. . .
|
В чем разница между px, in, mm, pt, dip, dp, sp
InfoMaster 20.01.2025
В мире цифрового дизайна и разработки интерфейсов правильный выбор единиц измерения играет ключевую роль в создании качественного пользовательского опыта. История развития систем измерений для. . .
|
Как изменить адрес удалённого репозитория (origin) в Git
InfoMaster 20.01.2025
В терминологии Git термин origin является стандартным именем для основного удаленного репозитория, с которым взаимодействует локальная копия проекта. Когда разработчик клонирует репозиторий с. . .
|
Как переместить последние коммиты в новую ветку (branch) в Git
InfoMaster 20.01.2025
При работе над проектом часто возникают ситуации, когда необходимо изолировать определенные изменения от основной линии разработки. Это может быть связано с экспериментальными функциями, исправлением. . .
|
Как вернуть результат из асинхронной функции в JavaScript
InfoMaster 20.01.2025
Асинхронное программирование представляет собой фундаментальную концепцию в JavaScript, которая позволяет выполнять длительные операции без блокировки основного потока выполнения программы. В. . .
|
Какой локальный веб-сервер выбрать
InfoMaster 19.01.2025
В современной веб-разработке локальные веб-серверы играют ключевую роль, предоставляя разработчикам надежную среду для создания, тестирования и отладки веб-приложений без необходимости использования. . .
|
Почему планшеты и iPad уже не так популярны, как раньше
InfoMaster 19.01.2025
Эра революционных инноваций
История планшетов началась задолго до того, как эти устройства стали привычными спутниками нашей повседневной жизни. В начале 1990-х годов появились первые прототипы,. . .
|
Как самому прошить BIOS ноутбука
InfoMaster 19.01.2025
BIOS (Basic Input/ Output System) представляет собой важнейший компонент любого компьютера или ноутбука, который обеспечивает базовое взаимодействие между аппаратным и программным обеспечением. . .
|
Какой Linux выбрать для домашнего компьютера
InfoMaster 19.01.2025
Современные реалии выбора операционной системы
В современном мире выбор операционной системы для домашнего компьютера становится все более важным решением, которое может существенно повлиять на. . .
|
Как объединить два словаря одним выражением в Python
InfoMaster 19.01.2025
В мире программирования на Python работа со словарями является неотъемлемой частью разработки. Словари представляют собой мощный инструмент для хранения и обработки данных в формате "ключ-значение". . . .
|