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

Вход

Регистрация

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

 

= Мир MS Excel/Фигуры меняют свой размер при изменении масштаба - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Фигуры меняют свой размер при изменении масштаба
cerber412 Дата: Суббота, 26.08.2017, 20:25 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 131
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый вечер, уважаемые форумчане.

У меня есть макрос - изменения масштаба автофигур.
На листе находится пять кнопок - к которым прицеплены макросы изменения масштаба - 50%,75%,100%,125%,150%. Изменение масштаба - я делаю только щелкая по этим кнопкам, не трогая колесико мышки.
Суть такая: при изменении масштаба листа - автофигуры эти также изменяют размеры (становятся больше - при увеличении масштаба, и становятся меньше при уменьшении масштаба).
Также эти автофигуры визуально меняют свое положение при изменении масштаба.

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

Как это исправить?
Как заставить автофигуры - визуально не менять свой размер при изменении масштаба ?
К сообщению приложен файл: 3877897.xls (55.0 Kb)
 
Ответить
СообщениеДобрый вечер, уважаемые форумчане.

У меня есть макрос - изменения масштаба автофигур.
На листе находится пять кнопок - к которым прицеплены макросы изменения масштаба - 50%,75%,100%,125%,150%. Изменение масштаба - я делаю только щелкая по этим кнопкам, не трогая колесико мышки.
Суть такая: при изменении масштаба листа - автофигуры эти также изменяют размеры (становятся больше - при увеличении масштаба, и становятся меньше при уменьшении масштаба).
Также эти автофигуры визуально меняют свое положение при изменении масштаба.

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

Как это исправить?
Как заставить автофигуры - визуально не менять свой размер при изменении масштаба ?

Автор - cerber412
Дата добавления - 26.08.2017 в 20:25
AndreTM Дата: Суббота, 26.08.2017, 22:17 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
Вы так и не ответили, почему вы решаете задачу свою именно таким образом.
Потому что подход выбран неверный.
Кроме того, вы думаете,что если вам там не решили задачу - то дублирование вопроса поможет её быстрее решить? :)

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


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеВы так и не ответили, почему вы решаете задачу свою именно таким образом.
Потому что подход выбран неверный.
Кроме того, вы думаете,что если вам там не решили задачу - то дублирование вопроса поможет её быстрее решить? :)

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

Автор - AndreTM
Дата добавления - 26.08.2017 в 22:17
gling Дата: Суббота, 26.08.2017, 22:26 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2643
Репутация: 739 ±
Замечаний: 0% ±

2010
Здравствуйте.
А не странно ли получится, у вас монитор с максимальным разрешением экрана и фигуры маленькие. У меня маленькое разрешение и при открытии Вашего файла, фигура занимает половину экрана. При уменьшении масштаба страницы, лист уменьшается а фигуры остаются не измененными. Как быть?
Не понятно для чего писать макрос, если это заложено в стандартных функциях Excel. Нажав на кнопку Масштаб, появляется панель с выбором кнопок нужного масштаба.
По Вашей "хотелке", можно эти кнопки вынести на панель быстрого доступа, только это придется делать для каждого компа отдельно.


ЯД-41001506838083
 
Ответить
СообщениеЗдравствуйте.
А не странно ли получится, у вас монитор с максимальным разрешением экрана и фигуры маленькие. У меня маленькое разрешение и при открытии Вашего файла, фигура занимает половину экрана. При уменьшении масштаба страницы, лист уменьшается а фигуры остаются не измененными. Как быть?
Не понятно для чего писать макрос, если это заложено в стандартных функциях Excel. Нажав на кнопку Масштаб, появляется панель с выбором кнопок нужного масштаба.
По Вашей "хотелке", можно эти кнопки вынести на панель быстрого доступа, только это придется делать для каждого компа отдельно.

Автор - gling
Дата добавления - 26.08.2017 в 22:26
cerber412 Дата: Воскресенье, 27.08.2017, 20:37 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 131
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Я спрашивал не про размещение кнопок на форме и не про размещение кнопок на панели быстрого доступа.
Я спрашивал - почему при равных численных пропорциях - масштабов друг к другу и размеров автофигур и координат размещения этих автофигур - все равно размеры фигур и координаты их размещения - немного меняются ?

Почему так происходит?
Неверно выбраны коэффициенты увеличения-уменьшения фигур и их координат ?
Или что-то другое?
 
Ответить
СообщениеЯ спрашивал не про размещение кнопок на форме и не про размещение кнопок на панели быстрого доступа.
Я спрашивал - почему при равных численных пропорциях - масштабов друг к другу и размеров автофигур и координат размещения этих автофигур - все равно размеры фигур и координаты их размещения - немного меняются ?

Почему так происходит?
Неверно выбраны коэффициенты увеличения-уменьшения фигур и их координат ?
Или что-то другое?

Автор - cerber412
Дата добавления - 27.08.2017 в 20:37
AndreTM Дата: Воскресенье, 27.08.2017, 21:27 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
почему при равных численных пропорциях ... все равно размеры фигур и координаты их размещения - немного меняются ?
Да потому, что вы пересчитываете размеры последовательно, относительно предыдущих = и накапливаются ошибки округления. А учитывая, что при отрисовке координаты вообще приводятся к целым числам - так ничего удивительного нет.

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

Сам посуди - если нажать 75%, затем 150% - то получится, что расчет вернет 0.75 * 1.5=1.125, снова нажмем туда-сюда - будет 1,265625, и очень быстро - точное число выйдет за пределы погрешности, и расчеты поплывут. В дробях это будет происходить медленнее - 3/4 * 3/2 = 9/8 * 9/8 = 81/64 и т.д., причем коэффициент всегда будет точен до пределов погрешности приложения (до 14 знака после запятой).


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение
почему при равных численных пропорциях ... все равно размеры фигур и координаты их размещения - немного меняются ?
Да потому, что вы пересчитываете размеры последовательно, относительно предыдущих = и накапливаются ошибки округления. А учитывая, что при отрисовке координаты вообще приводятся к целым числам - так ничего удивительного нет.

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

Сам посуди - если нажать 75%, затем 150% - то получится, что расчет вернет 0.75 * 1.5=1.125, снова нажмем туда-сюда - будет 1,265625, и очень быстро - точное число выйдет за пределы погрешности, и расчеты поплывут. В дробях это будет происходить медленнее - 3/4 * 3/2 = 9/8 * 9/8 = 81/64 и т.д., причем коэффициент всегда будет точен до пределов погрешности приложения (до 14 знака после запятой).

Автор - AndreTM
Дата добавления - 27.08.2017 в 21:27
cerber412 Дата: Понедельник, 28.08.2017, 07:11 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 131
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
AndreTM, ясно.
Значит подгонять размеры и координаты вручную.
 
Ответить
СообщениеAndreTM, ясно.
Значит подгонять размеры и координаты вручную.

Автор - cerber412
Дата добавления - 28.08.2017 в 07:11
  • Страница 1 из 1
  • 1
Поиск:

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