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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2012, 11:00   #1
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию Рисование линейки

Добрый день, уважаемые форумчане!
Имеется таблица с данными замеров следующего вида:
Линейка 1
Деление 0 10 20 30 40 50 60 70 80 90 100
Высота (мм) 7 11 8 9 10 9 12 12 9 8 8

Необходим макрос, который бы рисовал по заданным данным простой рисунок в виде ученической линейки с делениями, расположенной вертикально с обозначениями делений (верхняя строка) и заданным расстоянием между ними (нижняя строка).

Что посоветуете в этом плане? Или стоит искать решение посредством макросов в кореле?

Заранее спасибо!!!
strannick вне форума Ответить с цитированием
Старый 24.11.2012, 11:42   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Ну зачем для такой простой задачи Корел привлекать...

можно макросом в Excel нарисовать все эти линии,
можно ещё проще - при помощи диаграммы (без всяких макросов)

Покажите пример файла Excel с исходными данными и результатом.
EducatedFool вне форума Ответить с цитированием
Старый 24.11.2012, 12:17   #3
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию

Да я, в общем-то, и не сомневался, но, как-то, не знаю, осторожничал, что ли. Вопрос в том, чтобы соблюсти заданное расстояние между делениями в миллиметрах (точность - 2 знака п.з.)
Прикрепил прототип таблички с данными. Таблица будет пополняться данными замеров для Линеек. Размерность таблицы ориентировочно 500 строк. Размерность по столбцам - до 200. Под табличкой грубо нарисовал кусочек рисунка.)))))
Вложения
Тип файла: rar линейка.rar (8.0 Кб, 41 просмотров)
strannick вне форума Ответить с цитированием
Старый 24.11.2012, 23:59   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

между шрихами расстояия пропорциональны указанным высотам.
(и без макросов обошлось)
Вложения
Тип файла: rar линейка.rar (10.5 Кб, 52 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 27.04.2013, 11:41   #5
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию

IgorGO не могли бы Вы прокомментировать вот эту формулу

Код:
=ИНДЕКС(4:4;2+ЦЕЛОЕ((СТОЛБЕЦ()-1)/3))
которая тут используется для подсчета расстояний между делениями?
strannick вне форума Ответить с цитированием
Старый 27.04.2013, 13:16   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

добавил немного функциональности в формулу:
Код:
=ИНДЕКС($1:10;ПОИСКПОЗ($A13;$A$1:$A10;)+1;2+ЦЕЛОЕ((СТОЛБЕЦ()-1)/3))
теперь достаточно указать название линейки (линейка 1, линейка 2, линейка 3) и получить на выходе шкалу, для выбранной линейки.
формула привязана с расположению данных, и к сожалению не настроиться сама если добавить (удалить колонки перед данными).
ИНДЕКС
в диапазоне $1:10
выбираем строку с данными: ПОИСКПОЗ($A13;$A$1:$A10+1
потом столбец с данными: 2+ЦЕЛОЕ((СТОЛБЕЦ()-1)/3)
2 + потому что исходные начинаются с 3-й колонки (2 добавляем всегда)
/3 - потому что для каждого у неоходимо три линии нарисовать
ЦЕЛОЕ((СТОЛБЕЦ()-1)/3) - это как раз какое из значений интересует (1-е, 2-е, 3-е...).

или формулу можно записать так:
Код:
=ИНДЕКС($1:10;ПОИСКПОЗ($A13;$A$1:$A10;)+1;ПОИСКПОЗ(ЦЕЛОЕ((СТОЛБЕЦ()-1)/3)*10;$1:$1;))
суть формулы таже, что и раньше.

в файле часть записано так, часть по другому.
Вложения
Тип файла: rar линейка.rar (10.6 Кб, 33 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 27.04.2013 в 13:41.
IgorGO вне форума Ответить с цитированием
Старый 27.04.2013, 13:38   #7
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию

Спасибо огромное. А то дело дошло до воплощения, и я запнулся слегка. Буду разбираться)))
strannick вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание логарифмической линейки masterkenny13 Помощь студентам 0 17.01.2011 22:59
Как можно создать графический редактор где можно с помощю циркуля рисовать круг, а с линейки чертитьлинию Aksuubai Общие вопросы Delphi 3 03.06.2010 19:18