如何用vba给excel、wps添加迷你图?

在vba中迷你图是用Sparkline表示的。

如果要表示一组迷你图,可以使用SparklineGroup对象。

如果要给单元格区域添加一组迷你图,可以使用SparklineGroups.Add方法。

它的语法很简单,如下所示

expression.Add (TypeSourceData)

其中type参数表示要添加的迷你图的类型,SourceData参数表示数据所在的单元格区域的地址,要以A1引用格式表示。

以下是一段简单的给单元格区域添加一组折线迷你图的代码:

Sub exceloffice()
    '作者QQ:1722187970,微信xycgenius
    Dim owk As Worksheet
    Dim oRng As Range
    Set owk = Excel.ActiveSheet
    owk.Columns.AutoFit
    iRow = owk.Range("a65536").End(xlUp).Row
    iCol = owk.Cells(1, 256).End(xlToLeft).Column + 1
    owk.Cells(1, iCol) = Time
    owk.Cells(2, iCol).Resize(iRow - 1, 1).Value = owk.Cells(2, "c").Resize(iRow - 1, 1).Value
    Set oRng = owk.Range("d2").Resize(iRow - 1, 1)
    Debug.Print oRng.Address
    Debug.Print owk.Cells(2, "e").Resize(iRow - 1, iCol - 4).Address
    '先清空迷你图
    oRng.SparklineGroups.Clear
    '再添加动态迷你图
    oRng.SparklineGroups.Add xlSparkLine, owk.Cells(2, "e").Resize(iRow - 1, iCol - 4).Address
End Sub
       

发表评论