" VBA错误438对象不支持此属性或方法"

时间:2016-10-17 09:04:02

标签: vba excel-vba excel

我有一个大型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

1 个答案:

答案 0 :(得分:0)

我可以看到以下问题:您在.FullSeriesCollection块中调用With,该块指的是范围,而.FullSeriesCollection不是范围对象的一部分。它是Chart对象的一部分。你似乎有几个With块。我建议而不是使用With Sheets("mysheet").Range("mycell") WITH 块,只需使用完全限定的引用即可转到.Cells(即Thisworkbook.Worksheets("mysheet").Range("mycell").Cells ...)。如果您之前的With阻止引用Chart对象

,则应解决此问题