Hello - I have a workbook with a worksheet of data and other worksheets that contain charts that plot this data. I'm dynamically controlling the range of data to be plotted. I plot on both Primary and Secondary axis.

When I initially setup the charts, my data series are typically "Automatic" (under Format Data Series > Border) so the color of my column series seems to default so that the interior and border color are the same color (and typically some dark color like black or grey) and the width of the columns is automatically sized depending on how much data I'm plotting on the x axis. That is, if my range increases the column automatically shrink in width to accommodate more columns and as the range decreases the column width gets wider. This is what I want.

I have code that selectively turns some columns red to indicate something using this code:
With Sheets("Bollinger").ChartObjects("Chart 2").Chart.SeriesCollection(9)
.Interior.Color = RGB(105, 105, 105)
For i = 1 To HowMany
.Points(xPlotPointNum(i)).Format.Fill.ForeColor.RGB = 255
Next i
End With
where HowMany is the number of points on my chart that need to be colored red and xPlotPointNumber is the value of the point number of the column to be colored red (i.e. the 3rd point from the left, then the 5th, etc.) This works fine.

However, for reasons unknown to me, sometimes when I refresh my charts for a new data range, on some charts the column's default color will change. This forced me to add that line ".Interior.Color = RGB(105,105,105)" to force them to be all grey before changing individual columns to Red. Then I noticed that this ".Interior.Color" only makes the inside of my columns grey and the border was staying a different color.

To address this I added the line
.Format.Line.ForeColor.RGB = 0 '.Format.Line colors the border of the bar
before the .interior.Color line

But it seems when I add that .Format.Line command, I lose the "Automatic" designation and now my column widths do not resize automatically. I know I can add the code:
'.Format.Line.Weight = 1
to force all widths to be 1 but really want it to automatically adjust.

So my questions are:
1. What's the VBA command for "Automatic" scaling? I tried recording a Macro and it doesn't record this (Excel 365 on Win7)
2. Is there a VBA command to make both interior and border colors the same? i.e. I'm using ".Interior.Color =" to control the interior color and ".Format.Line.ForeColor.RGB =" which are very different and I assume this must not be the best way? Is there a ".Exterior.Color" or ".Border.Color" command or something similar? I tried one of those and although I didn't get an error it didn't change the border color either.

Thanks for any help! I'm really confused as to what VBA commands to use to control my charts!