Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Движение фигуры с определенным шагом по траектории - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Движение фигуры с определенным шагом по траектории (Макросы/Sub)
Движение фигуры с определенным шагом по траектории
OlegSmirnov Дата: Воскресенье, 16.12.2018, 07:34 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 80
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Всем доброго времени суток. У меня такой вопрос: На листе имеется таблица с координатами Q6:S14
В ней отображены - координаты пути (я его так примерно нарисовал ломаной линией).

Рядом находится кружок. В ячейке O4 - записан размер шага, который должен сделать кружок за одно нажатие на кнопку макроса.
Подскажите - каким образом двигать кружок по данному пути (из таблицы Q6:S14) с шагом, равным значению приведенном в ячейке O4 ?
(То есть для того чтобы кружок прошел весь путь - потребуется несколько нажатий кнопки макроса )
К сообщению приложен файл: 1071930.xls(35.0 Kb)
 
Ответить
СообщениеВсем доброго времени суток. У меня такой вопрос: На листе имеется таблица с координатами Q6:S14
В ней отображены - координаты пути (я его так примерно нарисовал ломаной линией).

Рядом находится кружок. В ячейке O4 - записан размер шага, который должен сделать кружок за одно нажатие на кнопку макроса.
Подскажите - каким образом двигать кружок по данному пути (из таблицы Q6:S14) с шагом, равным значению приведенном в ячейке O4 ?
(То есть для того чтобы кружок прошел весь путь - потребуется несколько нажатий кнопки макроса )

Автор - OlegSmirnov
Дата добавления - 16.12.2018 в 07:34
Roman777 Дата: Воскресенье, 16.12.2018, 11:36 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 954
Репутация: 122 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
OlegSmirnov, в чем измеряется шаг?


Много чего не знаю!!!!
 
Ответить
СообщениеOlegSmirnov, в чем измеряется шаг?

Автор - Roman777
Дата добавления - 16.12.2018 в 11:36
Roman777 Дата: Вторник, 18.12.2018, 07:12 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 954
Репутация: 122 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
OlegSmirnov, как понял, так сделал.
Для корректной работы, необходимо сначала перенести шейп (кружок) в первую точку. И так же необходимо, чтобы объект не был таких размеров, чтобы при перемещении его по заданному пути, его габариты должны были бы вылезти за пределы рабочей области эксель (то есть, в отрицательные координаты).
К сообщению приложен файл: 7532267.xls(66.5 Kb)


Много чего не знаю!!!!

Сообщение отредактировал Roman777 - Вторник, 18.12.2018, 07:15
 
Ответить
СообщениеOlegSmirnov, как понял, так сделал.
Для корректной работы, необходимо сначала перенести шейп (кружок) в первую точку. И так же необходимо, чтобы объект не был таких размеров, чтобы при перемещении его по заданному пути, его габариты должны были бы вылезти за пределы рабочей области эксель (то есть, в отрицательные координаты).

Автор - Roman777
Дата добавления - 18.12.2018 в 07:12
OlegSmirnov Дата: Четверг, 20.12.2018, 06:47 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 80
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Roman777, не работает.
Там две кнопки.
Щелкаю на первую кнопку - рисуется ломаная линия.
Жму на вторую кнопку - выдает ошибку "Run-time error 9". Кружок при этом никуда не двигается.
Подсвечивает строчку кода :
[vba]
Код
dP(1) = tb(i, 1)
[/vba]
 
Ответить
СообщениеRoman777, не работает.
Там две кнопки.
Щелкаю на первую кнопку - рисуется ломаная линия.
Жму на вторую кнопку - выдает ошибку "Run-time error 9". Кружок при этом никуда не двигается.
Подсвечивает строчку кода :
[vba]
Код
dP(1) = tb(i, 1)
[/vba]

Автор - OlegSmirnov
Дата добавления - 20.12.2018 в 06:47
Roman777 Дата: Четверг, 20.12.2018, 07:16 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 954
Репутация: 122 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
OlegSmirnov, было бы интересно увидеть какие координаты у Вас при этом стоят и размер кружка. Так что файл с Вашими изменениями продемонстрируйте, пожалуйста.


Много чего не знаю!!!!
 
Ответить
СообщениеOlegSmirnov, было бы интересно увидеть какие координаты у Вас при этом стоят и размер кружка. Так что файл с Вашими изменениями продемонстрируйте, пожалуйста.

Автор - Roman777
Дата добавления - 20.12.2018 в 07:16
OlegSmirnov Дата: Четверг, 20.12.2018, 07:54 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 80
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
OlegSmirnov, было бы интересно увидеть какие координаты у Вас при этом стоят и размер кружка.


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


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

Автор - OlegSmirnov
Дата добавления - 20.12.2018 в 07:54
Roman777 Дата: Четверг, 20.12.2018, 08:04 | Сообщение № 7
Группа: Проверенные
Ранг: Ветеран
Сообщений: 954
Репутация: 122 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
OlegSmirnov, странно, у меня работает всё без проблем. Но проверить на 2013м сейчас не могу (и не вижу даже причин для незапуска на 2013).


Много чего не знаю!!!!
 
Ответить
СообщениеOlegSmirnov, странно, у меня работает всё без проблем. Но проверить на 2013м сейчас не могу (и не вижу даже причин для незапуска на 2013).

Автор - Roman777
Дата добавления - 20.12.2018 в 08:04
OlegSmirnov Дата: Четверг, 20.12.2018, 08:11 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 80
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Roman777, вот такую ошибку выдает:
 
Ответить
СообщениеRoman777, вот такую ошибку выдает:

Автор - OlegSmirnov
Дата добавления - 20.12.2018 в 08:11
OlegSmirnov Дата: Четверг, 20.12.2018, 09:21 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 80
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Roman777, тестировал макрос на эксель2007, эксель2013 и эксель2003.
Не работает ни на одном.
 
Ответить
СообщениеRoman777, тестировал макрос на эксель2007, эксель2013 и эксель2003.
Не работает ни на одном.

Автор - OlegSmirnov
Дата добавления - 20.12.2018 в 09:21
doober Дата: Четверг, 20.12.2018, 10:10 | Сообщение № 10
Группа: Друзья
Ранг: Ветеран
Сообщений: 535
Репутация: 235 ±
Замечаний: 0% ±

Excel 2007
OlegSmirnov, странно, у меня работает всё без проблем.
Не согласен.
По умолчанию curSeg = 0
Если не сработало условие, то цикл начинается с 0
В этом месте возникает ошибка dP(1) = tb(i, 1),размерность массива то с 1 начинается


 
Ответить
Сообщение
OlegSmirnov, странно, у меня работает всё без проблем.
Не согласен.
По умолчанию curSeg = 0
Если не сработало условие, то цикл начинается с 0
В этом месте возникает ошибка dP(1) = tb(i, 1),размерность массива то с 1 начинается

Автор - doober
Дата добавления - 20.12.2018 в 10:10
Roman777 Дата: Четверг, 20.12.2018, 10:12 | Сообщение № 11
Группа: Проверенные
Ранг: Ветеран
Сообщений: 954
Репутация: 122 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
OlegSmirnov, Нашёл причину. Ошибка, связанная с данными с плавающей запятой (погрешности, в общем).
К сообщению приложен файл: 7532267_.xls(64.5 Kb)


Много чего не знаю!!!!
 
Ответить
СообщениеOlegSmirnov, Нашёл причину. Ошибка, связанная с данными с плавающей запятой (погрешности, в общем).

Автор - Roman777
Дата добавления - 20.12.2018 в 10:12
Roman777 Дата: Четверг, 20.12.2018, 10:13 | Сообщение № 12
Группа: Проверенные
Ранг: Ветеран
Сообщений: 954
Репутация: 122 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
странно, что дома всё ок. Видимо из-за того, что изображение чуть-чуть изменилось по размеру


Много чего не знаю!!!!
 
Ответить
Сообщениестранно, что дома всё ок. Видимо из-за того, что изображение чуть-чуть изменилось по размеру

Автор - Roman777
Дата добавления - 20.12.2018 в 10:13
_Boroda_ Дата: Четверг, 20.12.2018, 10:26 | Сообщение № 13
Группа: Модераторы
Ранг: Местный житель
Сообщений: 14125
Репутация: 5696 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
не вижу даже причин для незапуска

Сделайте высоту кружка целым числом, например 5. Иначе cP(2) получается дробным и curSeg получается равным нулю
Можно даже не целым, а просто выделите кружок, вкладка Формат, Высота, там сейчас написано 5,09, встаньте туда мышой и нажмите Ентер. Судя по всему реально там не 5,09, а 5,0899999999999 или что-то в этом роде. А лучше ровно 5 поставьте

* О, пока писал, уже всё придумали
К сообщению приложен файл: 7532267_1.xls(94.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
не вижу даже причин для незапуска

Сделайте высоту кружка целым числом, например 5. Иначе cP(2) получается дробным и curSeg получается равным нулю
Можно даже не целым, а просто выделите кружок, вкладка Формат, Высота, там сейчас написано 5,09, встаньте туда мышой и нажмите Ентер. Судя по всему реально там не 5,09, а 5,0899999999999 или что-то в этом роде. А лучше ровно 5 поставьте

* О, пока писал, уже всё придумали

Автор - _Boroda_
Дата добавления - 20.12.2018 в 10:26
Roman777 Дата: Четверг, 20.12.2018, 10:47 | Сообщение № 14
Группа: Проверенные
Ранг: Ветеран
Сообщений: 954
Репутация: 122 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
О, пока писал, уже всё придумали

К сожалению нет, даже при округлении, проблема не решается, как мне сначала показалось.
Так что предлагаю последние правки (заменена типа с плавающей точкой на тип с фиксированной), пусть это и будет немного дольше.
К сообщению приложен файл: 7532267-1-.xls(64.5 Kb)


Много чего не знаю!!!!

Сообщение отредактировал Roman777 - Четверг, 20.12.2018, 10:58
 
Ответить
Сообщение
О, пока писал, уже всё придумали

К сожалению нет, даже при округлении, проблема не решается, как мне сначала показалось.
Так что предлагаю последние правки (заменена типа с плавающей точкой на тип с фиксированной), пусть это и будет немного дольше.

Автор - Roman777
Дата добавления - 20.12.2018 в 10:47
OlegSmirnov Дата: Четверг, 20.12.2018, 11:29 | Сообщение № 15
Группа: Пользователи
Ранг: Участник
Сообщений: 80
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Roman777, спасибо.
Все заработало.
 
Ответить
СообщениеRoman777, спасибо.
Все заработало.

Автор - OlegSmirnov
Дата добавления - 20.12.2018 в 11:29
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Движение фигуры с определенным шагом по траектории (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2019 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!