Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何使用偏移和结束(xlDown)选择要绘制的数据_Excel_Vba - Fatal编程技术网

Excel 如何使用偏移和结束(xlDown)选择要绘制的数据

Excel 如何使用偏移和结束(xlDown)选择要绘制的数据,excel,vba,Excel,Vba,我正在尝试使用下表中的数据创建一个堆叠柱形图 我想选择列A1:A9和C1:F9。选择还需要适应不同的列大小(即,有人添加了另一个功能)。宏还应适用于工作表中任何位置的数据表。只要宏源于ActiveCell 我不仅要选择直到列结束,还要选择排除“值”列。我试图使用结束和偏移,但我不确定最好的方法。再一次,我想在工作表中任何位置的表上使用它,然后从中创建一个堆叠柱形图 谢谢你的帮助 请尝试此代码。其思想是,根据头不是“值”的条件,迭代地联合不同范围的数据 Dim rngData As Range D

我正在尝试使用下表中的数据创建一个堆叠柱形图

我想选择列A1:A9和C1:F9。选择还需要适应不同的列大小(即,有人添加了另一个功能)。宏还应适用于工作表中任何位置的数据表。只要宏源于ActiveCell

我不仅要选择直到列结束,还要选择排除“值”列。我试图使用结束和偏移,但我不确定最好的方法。再一次,我想在工作表中任何位置的表上使用它,然后从中创建一个堆叠柱形图

谢谢你的帮助


请尝试此代码。其思想是,根据头不是“值”的条件,迭代地
联合
不同范围的数据

Dim rngData As Range
Dim intCounter As Integer
Dim rngToSelect As Range

Set rngData = ActiveCell.CurrentRegion

Set rngToSelect = Range(rngData.Cells(1, 1), rngData.Cells(rngData.Rows.Count, 1))
For intCounter = 1 To rngData.Columns.Count
    If rngData.Cells(1, intCounter).Value <> "Values" Then
        Set rngToSelect = Union(rngToSelect, Range(rngData.Cells(1, intCounter), rngData.Cells(rngData.Rows.Count, intCounter)))
    End If
Next intCounter

rngToSelect.Select
工作假设是
ActiveCell
CurrentRegion
将选择您的表数据。其中,
CurrentRegion
的定义是“当前区域是由空行和空列的任意组合限定的范围。”

然后,代码将第一列附加到输出范围。之后,如果标题不是“值”,则外部列将仅追加到输出范围

Dim rngData As Range
Dim intCounter As Integer
Dim rngToSelect As Range

Set rngData = ActiveCell.CurrentRegion

Set rngToSelect = Range(rngData.Cells(1, 1), rngData.Cells(rngData.Rows.Count, 1))
For intCounter = 1 To rngData.Columns.Count
    If rngData.Cells(1, intCounter).Value <> "Values" Then
        Set rngToSelect = Union(rngToSelect, Range(rngData.Cells(1, intCounter), rngData.Cells(rngData.Rows.Count, intCounter)))
    End If
Next intCounter

rngToSelect.Select
Dim rngData作为范围
整数计数器
变暗RNG选择为范围
设置rngData=ActiveCell.CurrentRegion
设置rngToSelect=Range(rngData.Cells(1,1),rngData.Cells(rngData.Rows.Count,1))
对于intCounter=1到rngData.Columns.Count
如果rngData.Cells(1,intCounter).Value为“Values”,则
Set rngToSelect=Union(rngToSelect,Range(rngData.Cells(1,intCounter),rngData.Cells(rngData.Rows.Count,intCounter)))
如果结束
下一个计数器
rngToSelect。选择