我试图在Excel电子表格中循环显示所有迷你图(500+)。
然后,我需要将垂直范围设置为每个迷你图左侧单元格中的值。例如单元格A1的值为' 5'。单元格A2中有迷你线。我需要将迷你线的垂直范围设置为5。
迷你图未分组(即每个迷你图组中的一个迷你图)
我已经达到了下面的代码,但我似乎无法弄清楚如何引用迷你图的位置,然后将其抵消。
任何帮助都非常感谢!
Dim i As Integer
Dim SpLG As SparklineGroup
Dim SpLG_ref As String
Dim SpLG_range as Range
For i = 1 To Cells.SparklineGroups.Count
Set SpLG = Cells.SparklineGroups(i)
SpLG_ref = SpLG.Location.Address
SpLG_range2 = Range("SpLG_range").Offset(0, -1) << ERROR
SpLG.Axes.Vertical.MaxScaleType = xlSparkScaleCustom
SpLG.Axes.Vertical.CustomMaxScaleValue = SpLG_range2.Value
Next i
答案 0 :(得分:1)
您需要 Set
SpLG_range2
,而不是仅仅这样分配。但是你的代码中还有其他问题,而且很多东西都不需要存在。
用这个代替所有代码将做你想要的:
Dim SpLG As SparklineGroup
For Each SpLG In Cells.SparklineGroups
With SpLG
.Axes.Vertical.MaxScaleType = xlSparkScaleCustom
.Axes.Vertical.CustomMaxScaleValue = .Location.Offset(0, -1).Value
End With
Next
答案 1 :(得分:0)
必须使用Set关键字指定对象变量:
Set SpLG_Range2 = ...
希望这有帮助!