Excel VBA使用条件格式从单元格填充饼图颜色

我没有使用VBA的经验,我试图根据Excel 2010中数据单元格的颜色,将所有饼图格式化为一个活动图表。我从http://datapigtechnologies.com/博客/ index.php的/彩色饼图切片到匹配他们的源细胞/

Sub ColorPies() Dim cht As ChartObject Dim i As Integer Dim vntValues As Variant Dim s As String Dim myseries As Series For Each cht In ActiveSheet.ChartObjects For Each myseries In cht.Chart.SeriesCollection If myseries.ChartType <> xlPie Then GoTo SkipNotPie s = Split(myseries.Formula, ",")(2) vntValues = myseries.Values For i = 1 To UBound(vntValues) myseries.Points(i).Interior.Color = Range(s).Cells(i).Interior.Color Next i SkipNotPie: Next myseries Next cht End Sub 

此代码运行良好,但无法从条件格式中选取颜色。

我碰到这个解决scheme的VBA阅读条件格式的颜色:

 Selection.FormatConditions(1).BarColor.Color 

但是我一直无法在上面的VBA块中实现它。 我尝试用它的不同部分replaceInterior.Color,似乎没有工作。 有谁知道一个简单的方法来做到这一点?

先谢谢你!

既然你有2010,你可以使用DisplayFormat属性:

  For i = 1 To UBound(vntValues) myseries.Points(i).Interior.Color = Range(s).Cells(i).DisplayFormat.Interior.Color Next i