Страницы: 1
RSS
Управление расположением графиков из VBA
 
Подскажите, пожалуйста, где, как и чем можно управлять параметрами графиков? Нужно управлять расположением графика на листе, добавлять и убирать новые интервалы на уже существующих графиках, назначать различные цвета для линий различных интервалов графиков. Заранее признателен за любую помощь в этих вопросах.
Константин.
 
делайте все это руками
включите макрорекордер
изучая содержимое записанных макросов можете получить ответы не только на те вопросы, что вы уже задали, но и на все остальные, которые у вас есть
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Игорь, это так, да трошечки не так. Я не представляю, как с помощью макрорекордера сразу поставить график в нужное место. а хотелось бы это делать без лишних телодвижений. Наверняка есть описание управления этими параметрами, а соответственно возможность применить их без окольных путей.
 
Left  и Top. И операторы применимы не только для графиков Тему следует создавать по конкретному вопросу.
 
aigy3,
включили макрорекордер, взяли график мышкой за рамку и положили чуть в стороне от исходного положения
выключили макрорекордер
посмотрели в записанный им макрос и там...
видно на основании чего картинка с графиком получила НОВЫЕ КООРДИНАТЫ расположения на листе
удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Игорь, Вы все правильно пишете, Я командой ActiveSheet.Shapes.AddChart.Select создаю новый график, и Ексель втыкинает его в середину листа, и, да, я выяснил, какими командами его передвигать дальше, но хотелось бы без этого огорода сразу при создании нового графика ставить его туда, куда мне надо.
Теперь, уважаемый Модератор, если не трудно, поподробнее про Left и Top.
 
Код
Sub Position_()
    Dim a As Long, b As Long
    
    a = 200
    b = 17
    
    With Worksheets("Лист1").Shapes("Диаграмма 1")
        .Left = a
        .Top = b
    End With
End Sub

Поиграться с размещением относительно ячейки:
Код
Sub Position2()
    Dim i As Long, j As Long
    Dim a As Long, b As Long
    
    i = 13: j = 2
    
    With Worksheets("Ëèñò1")
        a = Cells(i, j).Left
        b = Cells(i, j).Top
        
        With .Shapes("Äèàãðàììà 1")
            .Left = a + 15: .Top = b - 8
        End With
    End With
End Sub
 
Большое спасибо!
Страницы: 1
Наверх