gpt4 book ai didi

excel - 使用 VBA 仅引用 Excel 表格数据主体范围的一部分

转载 作者:行者123 更新时间:2023-12-02 22:32:53 27 4
gpt4 key购买 nike

我找到了引用表格 ( e.g. The VBA Guide To ListObject Excel Tables ) 中的整行/列单个单元格的解决方案,但不是特定范围。

示例:Table1 的 DataBodyRange 为 3 列和 10 行,我需要绘制每列中第 4-10 行的数据(以编程方式,因为该表是动态的,我希望能够重新绘制如果添加/删除列则绘制)。

我希望语法类似于

Sub reDrawChart()

Set sourcedata = ActiveSheet.ListObjects("Table1")
Set cht = Worksheets("Sheet1").ChartObjects(1).Chart

'Delete existing series
cht.ChartArea.ClearContents

'Add new series
With cht.SeriesCollection.NewSeries
For i = 1 To nColumns
.Name = sourcedata.HeaderRowRange(i)
.Values = sourcedata.DataBodyRange(4:10, i) '<-- Touble spot
Next i
End With

End Sub

但是这是行不通的。有没有办法可以用这一行来做我想做的事情?我应该解决这个问题并寻求不同的解决方案吗?

我还想避免使用 .Select,因为在 Mac OS 上,感觉任何导致 VBA 口吃的代码都有 50/50 的机会崩溃到桌面。

最佳答案

尝试这个循环而不是你的循环:

    For i = 1 To sourceData.ListColumns.count
With cht.SeriesCollection.NewSeries
.name = sourceData.ListColumns(i).name
.values = sourceData.ListColumns(i).DataBodyRange. _
Offset(3).Resize(sourceData.ListRows.count - 3)
End With
Next i

关于excel - 使用 VBA 仅引用 Excel 表格数据主体范围的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45447968/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com