【发布时间】:2017-06-28 04:24:09
【问题描述】:
我正在研究基于动态数据集设置图表最大值和最小值的宏。当用户选择他们的组时,图表会更新,并且宏会运行以将图表最大值和最小值更新到适当的比例。
我希望有人可以帮助我,因为我尝试使用 3 个范围内的变量来:
- 根据范围内的单元格值选择图表
- 根据范围内的单元格值设置最小值
- 根据范围内的单元格值设置最大值
此时我可以提取图表名称,但无法从范围中获取最小值和最大值。
任何帮助将不胜感激!
Sub rescale()
ActiveSheet.Calculate
Dim ChrtNmRng As Range
Dim ChrtMinRng As Range
Dim ChrtMaxRng As Range
Dim cell As Range
Set ChrtNmRng = Sheets("Data").Range("o5:o20")
Set ChrtMinRng = Sheets("Data").Range("z5:z20")
Set ChrtMaxRng = Sheets("Data").Range("Aa5:Aa20")
For Each cell In ChrtNmRng
With Sheets("Dashboard").ChartObjects(cell.Value).Chart.Axes(xlValue)
.MinimumScale = ChrtMinRng.Value
.MaximumScale = ChrtMaxRng.Value
End With
Next cell
End Sub
【问题讨论】:
-
使用:
.MinimumScale = Application.WorksheetFunction.Min(ChrtMinRng).MaximumScale = Application.WorksheetFunction.Min(ChrtMaxRng) -
此代码是否找到该范围内的最小值和最大值?我已经在“Z”和“AA”列中找到了最大值中的最小值,所以我只是想从同一行中提取所有 3 个变量(NmRng、MinRng、MaxRng)的值。谢谢!
-
是的,代码获得了该范围内的最小值和最大值。我不太清楚你还需要什么?
-
例如第一张图。名称位于 o5 中,图形轴最小值位于 A5 中,最大值位于 AA5 中。我需要将这些值分配给该指定图表的 MinimumScale 和 MaximumScale。一旦设置了这些值,它需要移动到范围内的下一个值来设置下一个图表的最大值和最小值。
-
见下文 - 我得到了你需要的东西(我想!)