|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.07.2009, 17:39 | #11 |
Пользователь
Регистрация: 02.07.2009
Сообщений: 12
|
Попробую по-порядку все так и ответить.
Обрабатываем 6000 ячеек В которых в среднем тысячи четыре могут нести в себе какое то число то есть наши точки. В ячейках во всех для удобства везде 1 число то есть например 7, вот в 4 тысячах ячеек у нас стоит число 7, ну какое это число в принципе это не важно. Или если для макроса поиска нужна нумерация можно все точки пронумеровать в столбик вниз если так нужно., но удобнее если это просто одно число что бы не путаться, а макрос если я правильно понял ищет именно позиционирование, то есть не пустую ячейку Если на 1 линии лежат точки 1-2-3 и между ними одинаковое расстояние лучше конечно если линия ляжет одна и от 1 до 3, а не 1-2 и 2-3. Точки заносятся согласно рисунка а именно вручную, но тут как бы сложности в этом нет. На листе нет закрашенных ячеек, нет заголовка запись идет с первой строки первого столбика вправо вниз. Что бы не путаться можно задать диапазон для поиска например ширина 100 столбиков вправо, вниз 60 строк. В примере 6 я выложил фрагмент для наглядности как все выглядит, ну естественно он больше и шире и исходная точка у нас не в строке 20 а например 60. Посмотрите пожалуйста пример. Мы к примеру возле исходной точки в этом месте или в каком нибудь другом поставим потом кнопку которая будет выполнять эти все команды, ну хотелось бы во всяком случае что б так было. |
04.07.2009, 09:10 | #12 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
|
04.07.2009, 12:44 | #13 |
Пользователь
Регистрация: 02.07.2009
Сообщений: 12
|
Круто
Ого, ничего себе. Нет слов, круто. Единственное, ф-ция поиска как мне кажется немного ошибается то есть есть и верные линии то есть точки на одинаковом расстоянии а есть линия проводится там где точки лежат на 1 прямой но от исходной на разных расстояниях друг от друга, что есть ошибка.
В верхней строке константа число строк и столбцов можно менять в большую сторону? например 100 и 60, и количество точек, как я понял k = 3 можно поставить например 10 будет оно искать? Можно я уберу ф-цию случайного выбора точек? это не повлияет на другие ф-ции? А вообще задумка решения задачи просто восхитительна. Вы гений. |
04.07.2009, 12:58 | #14 | ||||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Поэтому просто ищутся точки, лежащие на одной прямой. Цитата:
Цитата:
Цитата:
Но помните, что в данной версии макроса ячейки с жирным шрифтом не обрабатываются. Поэтому надо производить очистку форматирования ячеек перед рисованием линий. Вообще, это была лишь тестовая версия макроса. Вряд ли Вам удастся применить её к реальным данным без существенной переделки. |
||||
04.07.2009, 13:16 | #15 |
Пользователь
Регистрация: 02.07.2009
Сообщений: 12
|
Я понял спасибо большое, а можно как то дополнить что бы они были на равных расстояниях и добавить еще одно условие такое как *Линия должна проводится если точки лежат на одной прямой и расстояние от исходной точки одинаковое со всеми точками и задача выполнена если на линии лежит минимум четыре точки, включая исходную.
Это наверно будет полное решение задачи. Последний раз редактировалось Govard; 04.07.2009 в 13:21. |
04.07.2009, 14:32 | #16 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
В рамках Евклидовой геометрии такое невозможно - на одной прямой могут находиться не более 2 несовпадающих точек, равноудалённых от исходной. |
|
04.07.2009, 15:26 | #17 |
Пользователь
Регистрация: 02.07.2009
Сообщений: 12
|
То есть невозможно в коде макроса как задачу написать? Хм. Надо подумать. В примере7 я выложил по условиям наглядный пример того что имел в виду.
|
04.07.2009, 20:35 | #18 |
Пользователь
Регистрация: 02.07.2009
Сообщений: 12
|
Ув. EducatedFool
С количеством точек, не ясно, но в принципе возможно задать макросу параметр что бы линии рисовались только где между точками одинаковое расстояние? А дальше может можно будет просто перетаскивать Исходную точку.... |
05.07.2009, 11:38 | #19 | ||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Но делать ничего не буду, пока не будет подробного тех.задания с примерами для различных вариантов расположения точек. Рисунок в Примере7 не соответствует заданию из поста #15: Цитата:
И___*_*_*_*___*___*_*_*_* Сколько в данном случае рисовать линий? Откуда, и куда? Выяснять все эти нюансы через форум не имею ни малейшего желания. Если есть Скайп - звоните. Было бы чётко сформулированное задание - уже получили бы готовое решение. |
||
05.07.2009, 21:07 | #20 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Вот что получилось: (см. вложение)
Добавлена желтая кнопочка - она позволяет нарисовать линии, начинающиеся со всех желтых ячеек (стартовая точка перемещается с первой до последней ячейки желтой строки, и для каждого из положений рисуются линии)
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов Последний раз редактировалось EducatedFool; 05.07.2009 в 21:14. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите пожалуста написать макрос | Kuchum-83 | Microsoft Office Excel | 8 | 22.04.2009 14:51 |
Помогите написать макрос!!! | zmax123 | Microsoft Office Excel | 4 | 16.03.2009 14:02 |
Помогите написать макрос | Urban | Microsoft Office Excel | 3 | 03.03.2009 22:28 |
Помогите написать макрос для... | КотФиларет | Microsoft Office Word | 15 | 24.01.2009 23:00 |
Помогите написать макрос | Neo007 | Microsoft Office Excel | 4 | 24.10.2008 07:25 |