2014-01-09 6 views
1

я могу использовать VBA для создания clustured charty столбца, используя следующий код:Absolute Положение диаграммы с помощью VBA

ActiveSheet.Shapes.AddChart.Select 
ActiveChart.ChartType = xlColumnClustered 

Однако это, как правило, расположен в самом центре моего экрана. Я могу иметь его перемещать с помощью кода, такие как:

ActiveSheet.Shapes("Chart 1").IncrementLeft -650.4545669291 
ActiveSheet.Shapes("Chart 1").IncrementTop -295.9091338583 

Однако это только относительно своего первоначального положения. Можно ли установить его, который всегда будет располагаться в определенных пикселях или номере ячейки? Другими словами, можно ли закодировать VBA, чтобы создать диаграмму в определенной позиции на листе?

+0

На небольшом дополнении к предыдущему ответу: позиция будет установлена ​​только точно, когда активное окно не сжато или растянут. Поэтому перед установкой свойств .Left и .Top убедитесь, что ActiveWindow.Zoom = 100. – Mill

ответ

3

Используйте .Top и .Left свойства
например

With ActiveSheet.Shapes("Chart 1") 
    .Left = Range("C10").Left 
    .Top = Range("C10").Top 
End With 
Смежные вопросы