У меня есть диаграмма, которую я хочу переставить. Диаграмма называется диаграммой 1.Set Range в VBA с использованием именованного диапазона
BalanceCFWD является названным диапазоном («A63») на листе распространения. Ячейки, указанные выше, будут удалены, поскольку я создаю отчет. Когда я удаляю ячейки, диаграммы не перемещаются вместе с ячейками, поэтому я пытаюсь написать этот код. Это для других пользователей.
Если я пройду через код, я смогу использовать .Top = chart1top.Top, и это будет правильно позиционироваться. Моя проблема заключается в том, что это работает только при выполнении кода. Если я отпущу его без точек останова, диаграмма кода становится шире и вне диапазона печати, поэтому я пытаюсь определить ширину и высоту.
Линия ChartWidth Я не могу писать без скомпилированного «Ожидаемого списка» или).
Существует больше кода, который следует за настройкой меток данных и других диаграмм.
Есть ли более простой подход?
Dim chart1top As Range
Dim chart1Left As Range
Dim chart1Width As Range
Dim chart1HeightStart As Range
Dim chart1HeightEnd As Range
With Sheets("Overall Summary")
Set chart1top = .Range("BalanceCFWD").Offset(1, 0)
Set chart1Left = .Range("BalanceCFWD").Offset(1, 0) 'same as the range above
Set chart1Width = .Range(("BalanceCFWD").Offset(1, 0) & ":" & ("BalanceCFWD").Offset(1, 5)
Set chart1HeightEnd = .Range("BalanceCFWD").Offset(27, 5)
End With
With ActiveChart.Parent
.Top = chart1top.Top
.Left = chart1Left.Left
.Height = chart1HeightStart.Height
.Width = chart1Width.Width
End With
FreeMan. Я уже определил эти параметры. Я снова запустил отчет, и я заблокировал следующий код. Это не позиционирование, как я ожидал. Тайна, поскольку только .top и .left - единственные строки, которые мне удалось получить. – Karl