Страницы: Пред. 1 2
RSS
Определить имя диаграммы, Нужно вывести имя выделенной диаграммы на листе
 
Dis -S, Вы несправедливы: Вам был показан небольшой макрос, с помощью которого  можно узнать имя диаграммы. Было предложено назначить его на все диаграммы. Вы же стали уходить в сторону от заявленной темы - увеличение/уменьшение размеров диаграммы, начали скрины показывать . Вот и замечание - вопросы не касаются темы. Тут Вы стали утверждать, что не спрашивали про имя диаграммы - да посмотрите на название темы...
===
Про 73 (наилучшие пожелания) я в курсе. Про 88 тоже, Про 99 вообще промолчу ))
 
Эх, я тоже в курсе... Когда-то соревновались и в скоростной связи, и в дальности. Морзянкой в том числе.

Dis -S, а горе-"цитату" не исправвили... Это не модераторам нужно, а таким же спрашивающим, как Вы. Тема остается, люди будут заходить за помощью. Была просьба почистить сообщение. А Вам замечания не нравятся, после себя мусор оставляете. Нехорошо это...
 
Всем спасибо за обсуждение. Не знаю, что за "горе-цитата", но весь "мусор" убрал. Если тема незначительная и мои вопросы примитивны - можете всё убрать.
В процессе решения проблемки кое-что в VBA заинтересовало. Тоже плюс.
Отдельное "Спасибо" #Юрий М за изящнейшее решение. Надеюсь пригодится.
Изменено: Dis -S - 06.06.2020 10:45:12
 
Моё решение - всего лишь набросок. Заготовка. Его нужно дорабатывать.Ведь нужно избежать ситуации, когда после увеличения одной диаграммы второй клик будет выполнен не по ней, а по другой: если не принять мер, вторая уменьшится относительно исходного размера. И, наверное, есть смысл запоминать стартовые размеры диаграмм. А если они все одинаковые по размеру, то использовать абсолютные значения.

Цитата
Dis -S написал:
можете всё убрать
Зачем? Не исключено, что кому-нибудь пригодится эта тема.
 
Цитата
Юрий М написал:
Заготовка.
Именно так я и использую. Возвратные координаты фиксирую. Правда, если просто с одним коэффициентом увеличения/уменьшения (k, 1/k) это не требуется. Странно, что в пошаговом режиме отладки макроса он висит...
 
Цитата
Заставь дурака богу молиться, он и лоб разобьет
Dis -S, прошу прощения, если этой пословицей задену Вас. О "дураке" - конкретно к Вам не относится, но пословица - в самое яблочко к данной ситуации.

Замечание было по конкретному сообщению, в которое Вы копировали и полный текст, и подвал сообщения. Это не цитата! Это и просил подкорректировать.
Цитаты часто нужны для пояснения последующего текста или расстановки каких-то маркеров.  Вы же почистили тему кардинально. Зачем?!!! Еще больше неразберихи добавили.

Советую почитать о цитировании (что это, для чего, когда нужно), чтобы опять не попадать в такие нелепые ситуации. Информация пригодится не только на форумах.
 
Ну, не умел  я  (разобрался)  цитировать! Так же и с ником конфуз был. Так что, Excuse me please!  
Ну всем спасибо за науку. Для меня Объектно-Ориентированное Программирование - пока не очень понятно. Контекстные хелпы  часто заводят в тупик. Взаимосвязи методов и свойств - сложно перепутаны. Зачем-то всякие "msoxxxx"  добавляются, без него многое не работает.  Надеюсь, никого не отпугну от VBA.  8)  Хотя, есть какая-то похожесть с BasomAVR, Proton, и PureBasic. Логика "бейсиковская" а вот вместо классических операторов - эти самые методы...
Изменено: Dis -S - 06.06.2020 15:00:47
 
Ремонтирую свой вариант. Скоро выложу )
 
Вот - поизгалялся )) Но ещё осталась опасность: при втором клике не на увеличенную диаграмму всё пойдёт не так. Не стал пока заниматься.
Анимация от ZVI..  
 
Занятная мультипликация. Как-раз под мою тему вывода мелкой диаграммы для рассмотрения и обратно. Проблему ошибочного выделения следующей диаграммы, если первая не возвращена, я тоже пытался решить через имя последней активной. С блокировкой других активаций пока не отработана текущая. Но с ходу не получилось, и поскольку для меня это не критично (активная диаграмма увеличивается практически на весь экран, закрывая остальное),  пока отложил. Да и и моих  скудных познаний VBA  маловато, а рыться в сети уже утомился.
 
У меня у самого знаний не так уж и много, но проблема решаема. Позже займусь.
 
Поменял файл.
 
Цитата
Dis -S написал:
Для меня Объектно-Ориентированное Программирование - пока не очень понятно.
русский вам понятен?
обьясните свою задачу простыми словами там, глядишь и решение появится
"мальчик буквально на пальцах обьяснил, что его зовут Хуан"
понимаете? не нужно обьяснять на пальцах, воспользуйтесь возможностями русского языка
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Ігор Гончаренко написал:
русский вам понятен?
Все дельные предложения и объяснения были не от Вас. От вас только замечания  по форме а не по-существу темы. Кстати в весьма пренебрежительной манере. На этом форуме такие традиции?  
Фразой про ООП я хотел  дать понять о своём уровне понимания (соррри за тавтологию) проблемы,
Изменено: Dis -S - 07.06.2020 08:06:06
 
при отсутствии описания задачи можно бесконечно долго угадывать решение - вот о чем я (но вы безусловно вольны воспринимать все сказанное, как личные оскобления, и тут никто вам не указ)
конечно, рано или поздно кого-то осенит, кто-то догадается о чем задача и решит ее, но сделать это можно гораздо более эффективным путем и вы явно заинтересованное в этом лицо
не нужно ничего понимать ни в каком программирования для получения ответа тут достаточно описать свою задачу (и чтобы это было задача из области Excel)
Изменено: Ігор Гончаренко - 07.06.2020 13:04:06
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Добрый день!
Позволю себе продолжить тему. Да, хорошо-бы поменять название темы (я вначале не корректно сформулировал - хотел просто имя достать) на, например:"Масштабирование диаграмм" Как это сделать?
Спасибо за идею блокировки ложного вызова другой диаграммы Юрий М,   в # 39,  и за развитие, я немного изменил алгоритм, с учётом моих требований - вывод увеличенных диаграмм в начало таблицы и возврат обратно. Правда фиксацию начального положения диаграммы через адрес ячейки Adr = .TopLeftCell.Address, пришлось изменить на фиксацию по пикселям, т.к. в  том случае возврат на место оказывался не точным. Ну, и пока без мультипликации, хотя это и красиво. Коэффициент масштабирования туда-обратно у меня постоянный, определил через переменную, что тоже более точно. Вот что получилось:
Код
Option Explicit
Dim flag As Boolean
Dim x, y, x_old, y_old, k As Single
Dim sName1, sName As String
Sub Mashtab()
  k = 2
  sName = Application.Caller
  With ActiveSheet.Shapes(sName)
          x = .left
          y = .top
    If flag Then   'первое нажатие (flag=0) - таблица свободна
      If sName <> sName1 Then Exit Sub ' не та таблица
         .ScaleWidth 1 / k, msoFalse, msoScaleFromTopLeft ' та же таблица, уменьшим обратно.
         .ScaleHeight 1 / k, msoFalse, msoScaleFromTopLeft
         .left = x_old '
         .top = y_old
      Else 'увеличение 
         sName1 = sName
         x_old = x
         y_old = y
        Range("a1").Select ' в начало таблицы для удобства (не обяз.)
        .left = 5 'место просмотра (мне нужно так) -
        .top = 40
        .ScaleWidth k, msoFalse, msoScaleFromTopLeft
        .ScaleHeight k, msoFalse, msoScaleFromTopLeft
      End If
  End With
  flag = Not flag ' инверсия флага
End Sub
Изменено: Dis -S - 08.06.2020 17:58:52
 
Масштабирование диаграмм - Что-то общее. Создайте новую тему. И не ошибитесь на этот раз с названием.
Страницы: Пред. 1 2
Наверх