首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用VBA只引用excel表数据体范围的一部分

使用VBA只引用excel表数据体范围的一部分
EN

Stack Overflow用户
提问于 2017-08-01 21:29:27
回答 2查看 10.6K关注 0票数 3

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

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

我希望语法类似于

代码语言:javascript
复制
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上,感觉就像任何让VBA结结巴巴的代码都有50/50的机会崩溃到桌面上。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-01 22:57:45

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

代码语言:javascript
复制
    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
票数 2
EN

Stack Overflow用户

发布于 2017-08-01 22:30:45

您可以迭代表的ListColumns,并使用偏移量和调整大小从每个‘`ListColumn’的DataBodyRange中获得特定的行集。

对于第4行到第10行,您需要偏移3行,然后调整7行的大小。如果有趣的行数发生变化,或者如果第一行索引发生变化,则可以在下面的示例代码中调整这些数字:

代码语言:javascript
复制
Option Explicit

Sub TableSection()

    Dim ws As Worksheet
    Dim lst As ListObject
    Dim lcl As ListColumn
    Dim i As Long
    Dim var As Variant

    Set ws = ThisWorkbook.Worksheets("Sheet1") '<-- change to your sheet
    Set lst = ws.ListObjects("Table1") '<-- change to your table

    For Each lcl In lst.ListColumns
        ' change 3 and 7 depending on the rows you are interested in
        var = lcl.DataBodyRange.Offset(3, 0).Resize(7, 1)
    Next lcl

End Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45447968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档