2015-05-07 91 views
0

我在以編程方式創建Excel工作表和關聯圖表的MS Access 2007數據庫中具有以下代碼。嘗試使用.tintandshade屬性修改圖表系列的內部顏色時,出現錯誤1004。VBA錯誤1004修改Excel圖表

變量'wksIn'是一個傳入我的Access子工作表的Excel工作表對象。變量'sRange'是一個在子程序中定義的字符串。

... 
Dim shChart as Excel.Shape 
Set shChart = wksIn.Shapes.AddChart(xlColumnStacked100) 

Dim chChart As Excel.Chart 
Set chChart = shChart.Chart 

with chChart 
    .SetSourceData Range(sRange) 
    .Axes(xlValue).MajorUnit = 0.2 
    .SetElement (msoElementLegendBottom) 

    Dim srSeries As Excel.Series 
    srSeries = chChart.SeriesCollection(1) 
    with srSeries 
    .Interior.Color = RGB(27, 88, 124) 
    .Interior.TintAndShade = 0.6    ' results in error 1004 
    .SetElement (msoElementDataLabelCenter) 
    End With 
End With 

我孜孜以求地避免了所有的選擇和主動______引用根據職位在這裏。任何人都可以看到1004錯誤可能發生的明顯原因,以及如何糾正問題?

有趣的一點是,.Interior.ThemeColor屬性也會導致1004錯誤。也許他們有關係?

+0

這僅僅意味着'TintAndShade'不是Interior'的'屬性。你從哪裏得到這個代碼?或者,也許,它是'Interior'的一個屬性,但是'0.6'對於這個屬性不是一個有效的值。進入調試,添加一個觀察器到'srSeries',然後在樹中搜索'Interior',然後搜索'TintAndShade'。 –

+0

這裏的關鍵是你使用Excel _2007_。在線查找2007年文檔變得越來越困難。確保在搜索時,在查詢中包含「excel 2007」,並確保您正在查看的結果是針對該版本的。我正在運行2010年,並且總是得到2013年的結果,所以我知道你的痛苦... – FreeMan

回答

0

如評論中所述,Interior並非正確的屬性。具有以下

.Interior.Color = RGB(27, 88, 124) 
.Interior.TintAndShade = 0.6    ' results in error 1004 

替換以下行(從您的代碼)

.Format.Fill.ForeColor.Color = RGB(27, 88, 124) 
.Format.Fill.ForeColor.TintAndShade = 0.6