在vba中迷你图是用Sparkline表示的。
如果要表示一组迷你图,可以使用SparklineGroup对象。
如果要给单元格区域添加一组迷你图,可以使用SparklineGroups.Add方法。
它的语法很简单,如下所示
expression.Add (Type, SourceData)
其中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


发表评论