我有一个大型Excel文件,从数据库中检索数据并导出到Excel中,形成图形。图形不同部分的颜色由一个函数控制,在该函数中填写另一个工作表中的单元格,并对其进行代码读取。问题是只要有一种颜色,代码才能工作,现在我想用我的模式,就这样,格式单元格 - >填充 - >图案样式。我试图以这种方式解决它,但我在带括号的行上得到运行时错误438。感谢所有帮助!
Else
.FullSeriesCollection(i).ChartType = xlLineStacked
.FullSeriesCollection(i).Format.line.Weight = 2.5
.FullSeriesCollection(i).Format.line.ForeColor.rgb = _
getRGB(findInSub(setupLC, findInCategory(tables, _
Right(tbl.Name, Len(tbl.Name) - 3)).offset(0, 6), lineC, _
.SeriesCollection(i).Name))
With Sheets("mysheet").Range("mycell")
If .Cells.Interior.Pattern = -4142 Or .Cells.Interior.Pattern = 1 Then
.FullSeriesCollection(i).Format.Fill.Patterned = .Interior.Color
Else
(.FullSeriesCollection(i).Format.Fill.Patterned = .Cells.DisplayFormat.Interior.PatternColor)
End If
End With
End If
End If
Next i
End With
End With
/ Johan
答案 0 :(得分:0)
我可以看到以下问题:您在.FullSeriesCollection
块中调用With
,该块指的是范围,而.FullSeriesCollection
不是范围对象的一部分。它是Chart
对象的一部分。你似乎有几个With
块。我建议而不是使用With Sheets("mysheet").Range("mycell")
WITH 块,只需使用完全限定的引用即可转到.Cells
(即Thisworkbook.Worksheets("mysheet").Range("mycell").Cells ...
)。如果您之前的With
阻止引用Chart
对象