Страницы: 1
RSS
VBA - Разные действия в цикле
 
Добрый день,
Название темы может не соответствует вопросу, но надеюсь это не проблема.
Имеется код с циклом который создает "FreeShape" по верх точек на графике (ниже часть кода).
Код
 For i = 1 To 6
     
      Set mySrs = myCht.SeriesCollection((i))
      Npts = mySrs.Points.Count
    
      ' first point
      Xnode = Xleft + (mySrs.XValues(Npts) - Xmin) * Xwidth / (Xmax - Xmin)
      Ynode = Ytop + (Ymax - mySrs.Values(Npts)) * Yheight / (Ymax - Ymin)
      Set myBuilder = myCht.Shapes.BuildFreeform(msoEditingAuto, Xnode, Ynode)
    
      ' remaining points
      For Ipts = 1 To Npts
        Xnode = Xleft + (mySrs.XValues(Ipts) - Xmin) * Xwidth / (Xmax - Xmin)
        Ynode = Ytop + (Ymax - mySrs.Values(Ipts)) * Yheight / (Ymax - Ymin)
        myBuilder.AddNodes msoSegmentLine, msoEditingAuto, Xnode, Ynode
      Next
    
      Set myShape = myBuilder.ConvertToShape
      
    With myShape
        ' USE YOUR FAVORITE COLORS HERE
        .Fill.ForeColor.RGB = RGB(255, 151, 151)
        .Line.ForeColor.RGB = RGB(0, 0, 0)
        .Line.Weight = 0
        .Line.Transparency = 1
        .Fill.Transparency = 0.6
    End With
    
    Next
На графике у меня несколько контуров и соответственно есть цикл от 1 до 6. Создается контур с закраской и тд.
Но, возможно ли для первого цикла сделать цвет один для (With myShape), а для остальных циклов другой?

Спасибо
 
?
Код
If i = 1 Then цвет = 1 Else цвет = 2
 
Да, совершенно правы.
Что-то я сглупил. Спасибо
Страницы: 1
Наверх