热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ExcelVBA-获取图表数据范围

如何解决《ExcelVBA-获取图表数据范围》经验,为你挑选了1个好方法。

我想将数据添加到一堆现有图表中.假设每个图表具有不同数量的数据系列,并且原始数据的位置在同一工作簿中的某个位置.这是我开始的:

For iChart = 1 To iCount
    ActiveSheet.ChartObjects("Chart " & iChart).Activate
    intSeries = 1
    Do Until ActiveChart.SeriesCollection(intSeries).Name = ""
        Set rXVal = ActiveChart.SeriesCollection(intSeries).XValues '<- Object Required error
        Set rXVal = Range(rXVal, rXVal.End(xlDown))
        Set rYVal = ActiveChart.SeriesCollection(intSeries).Values
        Set rYVal = Range(rYVal, rYVal.End(xlDown))
        ActiveChart.SeriesCollection(intSeries).XValues = rXVal
        ActiveChart.SeriesCollection(intSeries).Values = rYVal
        intSeries = intSeries + 1
    Loop
Next iChart

我知道这ActiveChart...XValues = rXVal有效,但我在线上遇到了"需要对象"的错误Set rXVal = ActiveChart....XValues.我假设因为一个范围进入以定义数据系列,我可以再次取出该范围然后添加到它.

更新
为了澄清一点,我有8个位置的加速度计和FFT软件设置,以记录4个独立频段的峰值振动响应.这样每个样本产生32个数据点.导出时,软件会发出4张Excel工作簿; 每个频段一个.每张表都有加速度计名称,样本数字下降.



1> ZygD..:

我成功使用了这种语法:

Dim rXVal() As Variant
rXVal = ActiveChart.SeriesCollection(intSeries).XValues

UPDATE

在这种情况下,您将获得一个数组,因为您的给定语句(ActiveChart.SeriesCollection(intSeries).XValues)是一个数组而不是一个范围.如果您深入了解Series对象,您会在Locals窗口中看到这一点ActiveChart.SeriesCollection(intSeries):

在此输入图像描述

(在我的虚拟数据中,我有名为r1,r2,r3,r4的行.)

我想说的是,XValues没有任何表明其占用范围的财产.

如果您确实需要一个范围,我建议您从formula酒店获取.我建议的方法是用这个替换你的错误导致行:

Set rXVal = Range(Split(ActiveChart.SeriesCollection(intSeries).Formula, ",")(1))

接下来,我看到你试图获得范围Values.同样,使用这个:

Set rYVal = Range(Split(ActiveChart.SeriesCollection(intSeries).Formula, ",")(2))

另一件事.

这些行最终会导致错误:

intSeries = 1
Do Until ActiveChart.SeriesCollection(intSeries).Name = ""
    ...some code...
    intSeries = intSeries + 1
Loop

用以下方法更改它们:

For intSeries = 1 To ActiveChart.SeriesCollection.Count
    ...some code...
Next

还有一件事.

考虑使用,WithEnd With重复很多ActiveChart.SeriesCollection(intSeries).那么你的代码将更具可读性,因为你会跳过这条长行!那不是很棒吗???


推荐阅读
author-avatar
琳宝灬幸福
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有