Страницы: 1
RSS
VBA, правила перемещения диаграмм по листу
 
Уважаемые, подскажите как изменить код,  что бы диаграммы строились в определенном месте видимой области листа. или же в определенном месте. Код такой:
Скрытый текст
Соответственно все диаграммы строятся на одном и том же месте, друг за другом.  
Метод   записи макрорекодером дает такое решение
Код
ActiveSheet.Shapes("Диаграмма 1093").IncrementLeft -204.
которое не работает  :(  так как здесь идет указание на диаграмму, которая уже была создана.
пробовал присвоить переменную с именем диаграммы, что бы затем ссылаться на неё
Код
t = ActiveChart.Name
ActiveSheet.Shapes(t).IncrementLeft -204.
Увы, и этот метод снова не работает.  :(  
Подскажите как быть в этом случае?.
 
Доброе время суток
Замените
Код
ActiveSheet.Shapes.AddChart.Select

на следующий код
Код
Dim chartShape As Shape
Set chartShape = ActiveSheet.Shapes.AddChart
chartShape.Left = xxx 'положение от левого края рабочего листа
chartShape.Top = yyy 'положение от верхнего края 

Успехов.
 
Спасибо, Работает, только надо потом вернуть выделение

Код
Dim chartShape as Shape 
Код
Set chartShape = ActiveSheet.Shapes.AddChart
chartShape.Left = xxx 'положение от левого края рабочего листа
chartShape.Top = yyy 'положение от верхнего края
chartShape.Select
 
данный код соответственно будет размещать график по координатам листа.

Если надо разместить график по координатам относительно видимой части листа то нужен такой код:
Код
 Dim chartShape As Shape
Set chartShape = ActiveSheet.Shapes.AddChart
chartShape.IncrementLeft xxx 'положение от левого края видимой области
chartShape.IncrementTop yyy ' положение от верхнего края видимой области
chartShape.Select
 
 
Цитата
Alejandro67 пишет: относительно видимой части
любопытный эффект. Не думал, что Increment именно так работает - отсылок на видимый диапазон в справке нет
F1 творит чудеса
 
Здравствуйте. Помогите пожалуйста. Не могу запустить записаный макрос. Ошибку в коде выдает на строке ActiveSheet.Shapes.AddChart.Select.
 
Цитата
Максим Зеленский написал:
Не думал, что Increment именно так работает - отсылок на видимый диапазон в справке нет
потому что это не так)
Increment - прирост, увеличение. Соответственно это действие лишь добавляет указанное количество пунктов к текущим координатам объекта.
Откуда трактовка про видимую область - непонятно.
Наверное потому, что диаграмма по умолчанию создается по центру видимой области)

Цитата
apelmon написал:
Не могу запустить записаный макрос
у меня запускается) вашего не вижу.
Страницы: 1
Наверх