Страница: 1 |
Страница: 1 |
Вопрос: Размеры графиков в VBA
Добавлено: 03.10.06 20:19
Автор вопроса: Crypton
на странице в Exel имеется несколько графиков. Выбираю один из них, запускаю макрос (установка шрифтов, подпизи цвет и т. д.) все ступорится на задании размеров выделенного графика (не сетки). Как это сделать?
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
angrynews
Вопросов: 33
Ответов: 119
Web-сайт:
Профиль | | #1
Добавлено: 04.10.06 14:28
что сделать-то???
Попробуй записать макрос и посмотреть его
Номер ответа: 2
Автор ответа:
Crypton
Вопросов: 2
Ответов: 4
Профиль | | #2
Добавлено: 04.10.06 17:48
вот кусок кода:
ActiveSheet.Shapes("Диагр. 1".ScaleHeight 0.71, msoFalse, msoScaleFromTopLeft
как сделать не Shapes("Диагр. 1", а именно выделенную диаграмму, без указания на ее имя, потому сто я не знаю ее имени. Или может как сделать присвоение выделенной диаграмме имени, а потом его использовать в Shapes. при этом чтобы имена не повторялись в случае нескольких диаграмм на листе
Номер ответа: 3
Автор ответа:
angrynews
Вопросов: 33
Ответов: 119
Web-сайт:
Профиль | | #3
Добавлено: 05.10.06 11:18
Сорри, но я тебя не могу понять, что требуется тебе Хотя сам иногда также путанно задаю вопросы!
Номер ответа: 4
Автор ответа:
Crypton
Вопросов: 2
Ответов: 4
Профиль | | #4
Добавлено: 05.10.06 19:11
Если у меня будет несколько диаграмм на листе, я выделю одну, запущу макрос с кодом
ActiveSheet.Shapes("Диагр. 1".ScaleHeight 0.71, msoFalse, msoScaleFromTopLeft
то не факт, что он выполнится, так как он привязан к "Диагр. 1". как мне сделать так, чтобы он не был привязан к имени диаграммы, чтобы можно было применять его к любым графикам с любыми именами. Не буду же я каждый раз искать название конкретного графика и вставлять это имя в макрос.
Номер ответа: 5
Автор ответа:
Незнайка
Вопросов: 7
Ответов: 188
Профиль | | #5
Добавлено: 10.10.06 08:25
Например можно так:
Выделяешь интересующую тебя на листе диаграмму и запускаешь приведенный код:
Dim Имя As String
Имя = Right(ActiveChart.Name, Len(ActiveChart.Name) - InStr(1, ActiveChart.Name, " ", 1))
ActiveSheet.Shapes(Имя).ScaleWidth 0.5, msoFalse
ActiveSheet.Shapes(Имя).ScaleHeight 0.5, msoFalse
End Sub
Номер ответа: 6
Автор ответа:
Crypton
Вопросов: 2
Ответов: 4
Профиль | | #6
Добавлено: 10.10.06 18:26
тормозится на строке
сначала не понял в чем дело, а потом посмотрел какое значение он присваивает переменной Имя - оказалось, что там вместо "Лист1 Диаграмма1" стоит "ист1 Диаграмма1" - почему-то обрезает первую букву. Пробовал по-разному лист называть - та же фигня.
Р.S. На другом компе работает нормально! Спасибо!
А как сделать, чтобы диаграмма не масштабировалась, а выставлялся определенный размер_ например 150 на 200.
Фишка типа
Номер ответа: 7
Автор ответа:
Crypton
Вопросов: 2
Ответов: 4
Профиль | | #7
Добавлено: 11.10.06 18:58
Со всем разобрался, спасибо за помощь