在比 Excel 窗口宽的 Excel 图表中检测第一个和最后一个可见点

SantiBailors

我有一个包含烛台图的 Excel 工作表 - 但就这个问题而言,它可能是一个常规的 2D 折线图,或任何具有水平轴的图表。

图表的数据源不是数学函数;相反,它是代表价格的任意数据,从另一个工作表的列中读取。

我的图表比工作表窗口宽很多倍 - 并且比 Excel 窗口本身宽。我通过简单地使用工作表的普通水平滚动条来水平浏览图表,该滚动条滚动工作表,包括其中的图表。

我将按钮放在同一个工作表中,通过 VBA 代码手动调整图表的垂直刻度(Y 轴),因为当水平滚动时,变得可见的新图表值可能需要显示不同的最小和最大 Y 轴值以最佳方式。

我想用自动缩放替换手动缩放:每次滚动后,我需要知道最左边的可见图表点和最右边的 - 即第一个和最后一个可见点。从中我将计算最佳 Y 比例并将其设置到图表中。

所以我正在尝试编写 VBA 代码来检测第一个和最后一个可见点。Chart对象在我看来没有相关的方法或属性,到目前为止我找不到方法来做到这一点。所以这就是我的问题。

Chart.AutoScaling属性无济于事,因为它会影响整个图表,而我的目标是设置一个仅适用于图表当前可见部分的垂直比例。所以我需要找到图表的第一个和最后一个可见点。

此图表的用户可能拥有与 Excel 2007 一样旧的 Excel 版本,因此适用于旧版本的解决方案将是最佳的,但需要较新 Excel 版本的解决方案也会很好。

竖琴

我很少发布另一个答案,所以这需要一些思考。

考虑一个仅显示选定数据部分的动态图表,而不是显示所有数据的静态图表。考虑到不是构建跨越多个屏幕宽度的图表,您可以拥有一个完全适合屏幕的图表,但用户可以确定他们想要在该图表中看到什么。

然后给用户一些控制单元格,他们可以在其中输入图表数据的起点和另一个控件,他们可以在其中确定他们希望在图表中看到多少根蜡烛/条/点。

使用用户提供的信息,您可以应用已建立的动态图表技术,例如图表范围的命名公式。然后在顶部撒上一点 VBA 以确定所选图表范围的最小值和最大值。

如果您想查看该技术的示例,请告诉我,我会添加一个链接。与滚动从窗口左侧和右侧消失的图表相比,这确实并不难,而且用户体验要好得多。

编辑:我创建了一个示例文件,您可以使用此Dropbox 链接下载

您需要为此文件启用宏。

顶部图表显示所有数据。

第 26 行中的图表使用动态范围。用户可以操纵 F17 和 F18 来选择起点和要绘制的行数。然后,第 26 行中的图表使用 Excel 默认值来适当填充值轴,就像 Excel 一样。

第 42 行中的图表(喜欢那个数字)覆盖了 Exel 默认值,并分别使用 F23 和 F24 中的值作为最小值和最大值。这是通过工作表更改事件宏完成的,该宏在工作表中的任何单元格发生更改时运行。

有无数种方法可以微调和改进这种方法,例如,仅在 F23 或 F24 中的图表参数发生变化时才触发宏,但这不是重点。

关键是您可以使用动态范围名称在图表中显示您的数据选择。没有任何代码,但让 Excel 决定 Y 轴的最小值和最大值应该是什么。就像 D26 中的图表一样。

如果您想更好地控制 Y 轴的最小值和最大值,请使用 D42 中的代码版本和图表。

很高兴回答问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Excel公式获取第一个和最后一个非零值

来自分类Dev

Excel:获取行中第一个和最后一个非零单元格的位置

来自分类Dev

我如何从月份和年份中获取第一个日期和最后一个日期 |Excel |用于月份和年份的微调器|

来自分类Dev

在Excel中查找ID的第一个和最后一个订购日期(同一ID可能会出现多次)

来自分类Dev

如何根据Excel中的条件在表格中查找第一个和最后一个非空白值并将其转换为文本

来自分类Dev

Excel公式获取行中的第一个和最后一个非空值并返回列标题

来自分类Dev

Excel中的自动列宽

来自分类Dev

Excel VBA:如何在表的最后一行的第一个单元格中粘贴一个值?

来自分类Dev

Excel UDF查找具有给定值的范围内的第一个和最后一个单元格-运行缓慢

来自分类Dev

Excel UDF查找具有给定值的范围内的第一个和最后一个单元格-运行缓慢

来自分类Dev

Excel:使用值查找第一个和最后一个单元格的地址(中间有空格)

来自分类Dev

Excel中的条件,该条件使我可以从第一个单元格中减去最后一个填充的单元格

来自分类Dev

为第一个唯一实例过滤Excel中的一列?

来自分类Dev

如何从Excel公式中的上一个可见行获取单元格值

来自分类Dev

excel 最后一个日期之前

来自分类Dev

从互联网打开Excel文件会打开一个空白的Excel窗口

来自分类Dev

一个图表Excel中的两列数据

来自分类Dev

更改第一个excel工作表和自动参考图

来自分类Dev

Excel公式仅使用另一个工作表上的列中的第一个值

来自分类Dev

Excel VBA:如果我们知道字符串中第一个和最后一个字母的位置,则如何提取子字符串

来自分类Dev

从Excel表中删除所有数据行(第一个表除外)

来自分类Dev

熊猫:始终选择Excel工作表中的第一个工作表/标签

来自分类Dev

Excel VBA查找行中第一个空白单元格的列名

来自分类Dev

如何在Excel数组公式中获取第一个TRUE值

来自分类Dev

Excel:在第一个空单元格中打开

来自分类Dev

如何在Excel中选择单元格中的第一个数字?

来自分类Dev

如何在excel中求和列的第一个字符?

来自分类Dev

在Excel中查找第一个空行,然后选择

来自分类Dev

Excel:在第2列当前值中查找第一个值

Related 相关文章

  1. 1

    Excel公式获取第一个和最后一个非零值

  2. 2

    Excel:获取行中第一个和最后一个非零单元格的位置

  3. 3

    我如何从月份和年份中获取第一个日期和最后一个日期 |Excel |用于月份和年份的微调器|

  4. 4

    在Excel中查找ID的第一个和最后一个订购日期(同一ID可能会出现多次)

  5. 5

    如何根据Excel中的条件在表格中查找第一个和最后一个非空白值并将其转换为文本

  6. 6

    Excel公式获取行中的第一个和最后一个非空值并返回列标题

  7. 7

    Excel中的自动列宽

  8. 8

    Excel VBA:如何在表的最后一行的第一个单元格中粘贴一个值?

  9. 9

    Excel UDF查找具有给定值的范围内的第一个和最后一个单元格-运行缓慢

  10. 10

    Excel UDF查找具有给定值的范围内的第一个和最后一个单元格-运行缓慢

  11. 11

    Excel:使用值查找第一个和最后一个单元格的地址(中间有空格)

  12. 12

    Excel中的条件,该条件使我可以从第一个单元格中减去最后一个填充的单元格

  13. 13

    为第一个唯一实例过滤Excel中的一列?

  14. 14

    如何从Excel公式中的上一个可见行获取单元格值

  15. 15

    excel 最后一个日期之前

  16. 16

    从互联网打开Excel文件会打开一个空白的Excel窗口

  17. 17

    一个图表Excel中的两列数据

  18. 18

    更改第一个excel工作表和自动参考图

  19. 19

    Excel公式仅使用另一个工作表上的列中的第一个值

  20. 20

    Excel VBA:如果我们知道字符串中第一个和最后一个字母的位置,则如何提取子字符串

  21. 21

    从Excel表中删除所有数据行(第一个表除外)

  22. 22

    熊猫:始终选择Excel工作表中的第一个工作表/标签

  23. 23

    Excel VBA查找行中第一个空白单元格的列名

  24. 24

    如何在Excel数组公式中获取第一个TRUE值

  25. 25

    Excel:在第一个空单元格中打开

  26. 26

    如何在Excel中选择单元格中的第一个数字?

  27. 27

    如何在excel中求和列的第一个字符?

  28. 28

    在Excel中查找第一个空行,然后选择

  29. 29

    Excel:在第2列当前值中查找第一个值

热门标签

归档