0 / 0 / 0
Регистрация: 09.09.2014
Сообщений: 55
|
||||||
1 | ||||||
Отредактировать макрос для очистки первых 12 столбцов слева так, чтобы он не останавливался на пустых строках19.10.2014, 18:51. Показов 1309. Ответов 19
Метки нет (Все метки)
Здравствуйте. Помогите, пожалуйста. Как этим макросом очистить строки по 12 ячеек влево так, чтобы он не останавливался на пустых ячейках?
0
|
19.10.2014, 18:51 | |
Ответы с готовыми решениями:
19
Макрос для очистки пустых строк Отредактировать макрос так, чтобы он искал в столбце определенное значение и копировал строку с этим значением Требуется отредактировать код так, чтобы для новой переменной rE=0:0.5:5; выполнялось все тоже самое Отредактировать программу так, чтобы еще строились графики N(q),Ne(q) и Nb(q) |
85 / 82 / 31
Регистрация: 13.10.2014
Сообщений: 167
|
||||||
20.10.2014, 02:33 | 2 | |||||
Сообщение было отмечено llet45 как решение
Решение
0
|
0 / 0 / 0
Регистрация: 09.09.2014
Сообщений: 55
|
|
20.10.2014, 11:13 [ТС] | 3 |
Спасибо. Отлично работает!
Добавлено через 3 часа 57 минут Поторопился я с ответом. Виснет. Причём, конкретно.
0
|
Заблокирован
|
|
20.10.2014, 11:43 | 4 |
все верно ответил k61, опустошайте ненужные данные перед новым вызовом
Добавлено через 26 секунд Clear
0
|
0 / 0 / 0
Регистрация: 09.09.2014
Сообщений: 55
|
|
20.10.2014, 11:53 [ТС] | 5 |
Перед работой макроса, поле очищается, затем туда копируется строк 300-400 и из них, по поисковому значению, удаляется почти половина. Потом работает сортировка и данные выводятся на печать. bp.ResizE(,12).Clear - это работает на всех полях, независимо от размера. А - bp.ResizE(,12).Offset(, -12).Clear - виснет и помогает только диспетчер задач.
0
|
Заблокирован
|
|
20.10.2014, 11:59 | 6 |
да уж.. а если будет миллиарды строк ?..
скорее всего один из алгоритмов тормозит.. например сортировка, кто знает?, как он организован
0
|
0 / 0 / 0
Регистрация: 09.09.2014
Сообщений: 55
|
||||||
20.10.2014, 14:10 [ТС] | 7 | |||||
Вот в таком виде не работает. Пришлось копировать bp d bf и запускать в правую сторону.
0
|
Заблокирован
|
|
20.10.2014, 14:13 | 8 |
Вы не пробывали пользоваться быстрой сортировкой.. такой например как *qSort*
все что печатает запись макроса, это полная туфта..
0
|
0 / 0 / 0
Регистрация: 09.09.2014
Сообщений: 55
|
|
20.10.2014, 14:44 [ТС] | 9 |
*qSort*? Я не знаю, как?
0
|
Заблокирован
|
||||||
20.10.2014, 15:11 | 10 | |||||
1
|
0 / 0 / 0
Регистрация: 09.09.2014
Сообщений: 55
|
|
20.10.2014, 16:01 [ТС] | 11 |
Спасибо. Попробую, если разберусь, как на нужные мне диапазоны приспособить.
Добавлено через 24 минуты Не пойму - где задаётся диапазон, например ("BG10:BH3010") и где указано - какой столбик и с какой строки, например ("BG10"). Я там вообще никакого диапазона не вижу. Я сортирую данные из ячейки "ТДАТА()", так как они не повторяются и всегда идут по нарастающей. И сортирую в строго выделенных диапазонах. Диапазоны расположены в одном листе. В каждом диапазоне находятся разные данные, но все они относятся к одному автомобилю. И вот, когда я по гос номеру вывожу данные на какой-либо автомобиль, то и всё, что с ним связано, выводится в нужный мне диапазон и сортируется, выстраивая всё по-порядку. Также, удаляю данные, которые больше не нужны, из всех диапазонов одновременно. И опять сортировка в диапазонах работает. Заманчиво, конечно, воспользоваться *qSort*. Но и времени особо нет глубоко всё изучать, да и возраст - пару с хвостом за пятьдесят. Добавлено через 1 минуту Забыл отметить, что автомобилей - тысячи.
0
|
Заблокирован
|
||||||
20.10.2014, 16:09 | 12 | |||||
это ерунда.. хоть дясять миллионов
алгоритм выполнится так, что вы даже моргнуть не успеете, я выложил вариант для сортировки текстовых списков, ну и вариантных, вы просто наверное типы указали неверно
0
|
0 / 0 / 0
Регистрация: 09.09.2014
Сообщений: 55
|
|
21.10.2014, 07:30 [ТС] | 13 |
Спасибо, но разобраться не получилось. Пробовал: кучу диапазонов вставлял и всё такое, но как к ним привязать - не знаю. Или вообще не запускается, или останавливает на "qSort j, 0, UBound(j)". Ладно, извините, не утруждайтесь.
0
|
85 / 82 / 31
Регистрация: 13.10.2014
Сообщений: 167
|
|
21.10.2014, 08:12 | 14 |
Файл дадите народу посмотреть?
0
|
0 / 0 / 0
Регистрация: 09.09.2014
Сообщений: 55
|
|
21.10.2014, 11:01 [ТС] | 15 |
Вот правильный ответ: bp.Resize(, 11).Offset(, -10).Clear На цифры глянь. Просто не удалялись данные из столбика, в котором ищет, и сортировка зависала - правый столбец заполнен весь. Сегодня глянул, аж выматерился от души.
0
|
2785 / 717 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
|
|
21.10.2014, 11:04 | 16 |
Антихакер32, ты код qSort где брал? По-моему, в 16 строке в сравнении (i <= l) случай равенства будет избыточен. Кто-нибудь может это перепроверить и подтвердить/опровергнуть?
0
|
2785 / 717 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
|
|
21.10.2014, 12:35 | 18 |
У меня были такие мысли. А если убрать равенство, массив разве неправильно будет отсортирован? Хочу протестировать на большом случайно сгенерированном массиве.
0
|
2785 / 717 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
|
|
21.10.2014, 14:17 | 20 |
Хотел оптимизировать
0
|
21.10.2014, 14:17 | |
21.10.2014, 14:17 | |
Помогаю со студенческими работами здесь
20
Макрос для очистки колонтитулов и установки сквозной нумерации в документе Отредактировать файл так, чтобы каждое слово находилось на отдельной строке Изменить текст входящего текстового файла так, чтобы в исходящем файле не оставалось пустых строк Отредактировать текст так, чтобы между словами был ровно один пробел Отредактировать текст так, чтобы между словами был ровно один пробел Отредактировать текст так, чтобы предложения в тексте разделялись ровно двумя пробелами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |