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

Вход

Регистрация

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

 

= Мир MS Excel/Поворот объекта к конкретной точке. - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Поворот объекта к конкретной точке. (Макросы/Sub)
Поворот объекта к конкретной точке.
Glass4217 Дата: Пятница, 11.01.2019, 05:46 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 41
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Доброго времени суток, гуру экселя.
Возник вопрос - вроде бы простой. А решить я его никак не могу.

Существует команда IncrementRotation, отвечающая за поворот шейпа.
Пока что все что меня получается - это поворачивать объект - на какую-то фиксированную величину.

Как повернуть шейп - к конкретным координатам, записанным в ячейках K4 K5 или к фигуре "Овал 3" ?
К сообщению приложен файл: 5468679.xls(50.5 Kb)
 
Ответить
СообщениеДоброго времени суток, гуру экселя.
Возник вопрос - вроде бы простой. А решить я его никак не могу.

Существует команда IncrementRotation, отвечающая за поворот шейпа.
Пока что все что меня получается - это поворачивать объект - на какую-то фиксированную величину.

Как повернуть шейп - к конкретным координатам, записанным в ячейках K4 K5 или к фигуре "Овал 3" ?

Автор - Glass4217
Дата добавления - 11.01.2019 в 05:46
bmv98rus Дата: Пятница, 11.01.2019, 07:56 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2278
Репутация: 399 ±
Замечаний: 20% ±

Excel 2013/2016
Glass4217 Тема названа не корректно. Ну назовите " Избушка, избушка, встань к лесу задом, а ко мне передом" и то понятнее.
Вам не понятно как высчитать угол - так это школьная программ? Или что?


Замечательный медведь, процентов на 20.
 
Ответить
СообщениеGlass4217 Тема названа не корректно. Ну назовите " Избушка, избушка, встань к лесу задом, а ко мне передом" и то понятнее.
Вам не понятно как высчитать угол - так это школьная программ? Или что?

Автор - bmv98rus
Дата добавления - 11.01.2019 в 07:56
Glass4217 Дата: Пятница, 11.01.2019, 08:52 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 41
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
bmv98rus, хорошо, пусть будет по вашему.

"Фигура, фигура - встань к нужной координате передом !"

Как макросом это сделать ?
 
Ответить
Сообщениеbmv98rus, хорошо, пусть будет по вашему.

"Фигура, фигура - встань к нужной координате передом !"

Как макросом это сделать ?

Автор - Glass4217
Дата добавления - 11.01.2019 в 08:52
Glass4217 Дата: Пятница, 11.01.2019, 13:20 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 41
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Вопрос далеко не простой.
А весьма сложный.
 
Ответить
СообщениеВопрос далеко не простой.
А весьма сложный.

Автор - Glass4217
Дата добавления - 11.01.2019 в 13:20
doober Дата: Пятница, 11.01.2019, 13:43 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 555
Репутация: 237 ±
Замечаний: 0% ±

Excel 2010
А весьма сложный.

Неужели сложно высчитать два угла и на их разность повернуть фигуру?


 
Ответить
Сообщение
А весьма сложный.

Неужели сложно высчитать два угла и на их разность повернуть фигуру?

Автор - doober
Дата добавления - 11.01.2019 в 13:43
Glass4217 Дата: Пятница, 11.01.2019, 14:28 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 41
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
doober, все не так просто.

Перед тем как осуществлять поворот - нужно понять - как именно фигура повернута в настоящий момент, еще до запуска макроса (фигура может стоять - не ровно).
Ведь на ней, перед изменением угла - уже может быть применена команда IncrementRotation.
 
Ответить
Сообщениеdoober, все не так просто.

Перед тем как осуществлять поворот - нужно понять - как именно фигура повернута в настоящий момент, еще до запуска макроса (фигура может стоять - не ровно).
Ведь на ней, перед изменением угла - уже может быть применена команда IncrementRotation.

Автор - Glass4217
Дата добавления - 11.01.2019 в 14:28
anvg Дата: Пятница, 11.01.2019, 15:03 | Сообщение № 7
Группа: Друзья
Ранг: Обитатель
Сообщений: 475
Репутация: 233 ±
Замечаний: 0% ±

2016, 365
Доброе время суток.
нужно понять - как именно фигура повернута в настоящий момент
То есть изучить объект Shape времени найти не удалось (не всё же последствия макрорекордера изучать)? Свойство Shape.Rotation возвращает и устанавливает абсолютный угол поворота прямоугольника, обрамляющего фигуру.
 
Ответить
СообщениеДоброе время суток.
нужно понять - как именно фигура повернута в настоящий момент
То есть изучить объект Shape времени найти не удалось (не всё же последствия макрорекордера изучать)? Свойство Shape.Rotation возвращает и устанавливает абсолютный угол поворота прямоугольника, обрамляющего фигуру.

Автор - anvg
Дата добавления - 11.01.2019 в 15:03
bmv98rus Дата: Пятница, 11.01.2019, 15:12 | Сообщение № 8
Группа: Проверенные
Ранг: Старожил
Сообщений: 2278
Репутация: 399 ±
Замечаний: 20% ±

Excel 2013/2016
doober, anvg, коллеги, вопрос по прежнему в названии темы. Лично я прочитав понял, что фигуру надо повернуть на определенный угол вокруг точки таким образом, чтоб она встала рядом с нужной точкой. Шучу конечно, но читается именно так.


Замечательный медведь, процентов на 20.
 
Ответить
Сообщениеdoober, anvg, коллеги, вопрос по прежнему в названии темы. Лично я прочитав понял, что фигуру надо повернуть на определенный угол вокруг точки таким образом, чтоб она встала рядом с нужной точкой. Шучу конечно, но читается именно так.

Автор - bmv98rus
Дата добавления - 11.01.2019 в 15:12
anvg Дата: Пятница, 11.01.2019, 15:49 | Сообщение № 9
Группа: Друзья
Ранг: Обитатель
Сообщений: 475
Репутация: 233 ±
Замечаний: 0% ±

2016, 365
Привет, Михаил.
Лично я прочитав понял, что фигуру надо повернуть на определенный угол вокруг точки
Может и так. Фиг поймёшь этих одарённых твиттерщиков. Но, как мне кажется, что нужно чтобы вектор, проходящий через через середины отрезков прямоугольника обрамления фигуры и направленный вверх, после поворота был направлен на указанную точку. Как бы рисунок имитирует графическое отображение такого вектора :)
 
Ответить
СообщениеПривет, Михаил.
Лично я прочитав понял, что фигуру надо повернуть на определенный угол вокруг точки
Может и так. Фиг поймёшь этих одарённых твиттерщиков. Но, как мне кажется, что нужно чтобы вектор, проходящий через через середины отрезков прямоугольника обрамления фигуры и направленный вверх, после поворота был направлен на указанную точку. Как бы рисунок имитирует графическое отображение такого вектора :)

Автор - anvg
Дата добавления - 11.01.2019 в 15:49
bmv98rus Дата: Пятница, 11.01.2019, 15:59 | Сообщение № 10
Группа: Проверенные
Ранг: Старожил
Сообщений: 2278
Репутация: 399 ±
Замечаний: 20% ±

Excel 2013/2016
anvg, Андрей, так не спроста было
" Избушка, избушка, встань к лесу задом, а ко мне передом"


Замечательный медведь, процентов на 20.
 
Ответить
Сообщениеanvg, Андрей, так не спроста было
" Избушка, избушка, встань к лесу задом, а ко мне передом"

Автор - bmv98rus
Дата добавления - 11.01.2019 в 15:59
Pelena Дата: Пятница, 11.01.2019, 17:34 | Сообщение № 11
Группа: Админы
Ранг: Местный житель
Сообщений: 14094
Репутация: 3081 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Фиг поймёшь этих одарённых твиттерщиков
Ну что уж, так сразу ярлыки навешивать... ;)

Glass4217, так хотели?
Перемещаем овал, нажимаем оранжевую кнопку
К сообщению приложен файл: 2424148.xls(52.5 Kb)


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
Сообщение
Фиг поймёшь этих одарённых твиттерщиков
Ну что уж, так сразу ярлыки навешивать... ;)

Glass4217, так хотели?
Перемещаем овал, нажимаем оранжевую кнопку

Автор - Pelena
Дата добавления - 11.01.2019 в 17:34
bmv98rus Дата: Пятница, 11.01.2019, 18:35 | Сообщение № 12
Группа: Проверенные
Ранг: Старожил
Сообщений: 2278
Репутация: 399 ±
Замечаний: 20% ±

Excel 2013/2016
Pelena, Елена, балуете. :-)
Я б немного по иному записал

[vba]
Код
Public Sub rrr()
    With ActiveSheet
        With .Shapes("Oval 3")
            x1 = .Left + .Width / 2
            y1 = .Top + .Height / 2
        End With
        With .Shapes("Up Arrow 2")
            x2 = .Left + .Width / 2
            y2 = .Top + .Height / 2
            .Rotation = WorksheetFunction.Atan2(x1 - x2, y1 - y2) * 45 / Atn(1) + 90
        End With
    End With
End Sub
[/vba]

и не люблю писать 3.14 это 4 *atn(1) :-)


Замечательный медведь, процентов на 20.

Сообщение отредактировал bmv98rus - Пятница, 11.01.2019, 19:19
 
Ответить
СообщениеPelena, Елена, балуете. :-)
Я б немного по иному записал

[vba]
Код
Public Sub rrr()
    With ActiveSheet
        With .Shapes("Oval 3")
            x1 = .Left + .Width / 2
            y1 = .Top + .Height / 2
        End With
        With .Shapes("Up Arrow 2")
            x2 = .Left + .Width / 2
            y2 = .Top + .Height / 2
            .Rotation = WorksheetFunction.Atan2(x1 - x2, y1 - y2) * 45 / Atn(1) + 90
        End With
    End With
End Sub
[/vba]

и не люблю писать 3.14 это 4 *atn(1) :-)

Автор - bmv98rus
Дата добавления - 11.01.2019 в 18:35
Pelena Дата: Пятница, 11.01.2019, 19:08 | Сообщение № 13
Группа: Админы
Ранг: Местный житель
Сообщений: 14094
Репутация: 3081 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
балуете. :-)
Отнюдь) Если я МОГУ помочь, я помогаю.

Я б немного по иному записал
Немного макияжа? :)


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
Сообщение
балуете. :-)
Отнюдь) Если я МОГУ помочь, я помогаю.

Я б немного по иному записал
Немного макияжа? :)

Автор - Pelena
Дата добавления - 11.01.2019 в 19:08
bmv98rus Дата: Пятница, 11.01.2019, 19:18 | Сообщение № 14
Группа: Проверенные
Ранг: Старожил
Сообщений: 2278
Репутация: 399 ±
Замечаний: 20% ±

Excel 2013/2016
макияжа

Тюнинга. :D . По этому и пишу что записал а не написал. Я все ждал пока ТС название предложит, но видимо оно смущает только меня и Андрея :-). признаться забываю про atan2 и по старинке делал, по сему было чуть сложнее и оставил на работе, по этому Ваш код корябал.


Замечательный медведь, процентов на 20.
 
Ответить
Сообщение
макияжа

Тюнинга. :D . По этому и пишу что записал а не написал. Я все ждал пока ТС название предложит, но видимо оно смущает только меня и Андрея :-). признаться забываю про atan2 и по старинке делал, по сему было чуть сложнее и оставил на работе, по этому Ваш код корябал.

Автор - bmv98rus
Дата добавления - 11.01.2019 в 19:18
Pelena Дата: Пятница, 11.01.2019, 19:29 | Сообщение № 15
Группа: Админы
Ранг: Местный житель
Сообщений: 14094
Репутация: 3081 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
У меня название темы отторжения не вызвало. Можно было конкретизировать, что Объект - это Стрелка, но, вроде, и так понятно было (на мой взгляд)


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеУ меня название темы отторжения не вызвало. Можно было конкретизировать, что Объект - это Стрелка, но, вроде, и так понятно было (на мой взгляд)

Автор - Pelena
Дата добавления - 11.01.2019 в 19:29
Glass4217 Дата: Суббота, 12.01.2019, 03:49 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 41
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Pelena, спасибо большое.
Все работает.
 
Ответить
СообщениеPelena, спасибо большое.
Все работает.

Автор - Glass4217
Дата добавления - 12.01.2019 в 03:49
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Поворот объекта к конкретной точке. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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