Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.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 调整图表源范围VBA的大小和移动_Excel_Vba - Fatal编程技术网

Excel 调整图表源范围VBA的大小和移动

Excel 调整图表源范围VBA的大小和移动,excel,vba,Excel,Vba,我目前有一个由宏创建的表,我使用该表作为创建瀑布图的数据: 我想在VBA中偏移并调整数据源范围(蓝色-第2列)的大小,以覆盖第3列和第4列 VBA代码会将“蓝色选择框”移动到此处: 我不想引用特定的单元格或列,因为此表可能出现在工作表中的任何位置。我希望基于当前选择(第2列)进行偏移并调整大小,而无需用户进行任何手动输入。实现此目的的一种方法是使用命名范围,在选择更改时更新其地址 首先,将以下代码添加到工作表中,以自动更新命名范围的地址: Private Sub Worksheet_Sele

我目前有一个由宏创建的表,我使用该表作为创建瀑布图的数据:

我想在VBA中偏移并调整数据源范围(蓝色-第2列)的大小,以覆盖第3列和第4列

VBA代码会将“蓝色选择框”移动到此处:


我不想引用特定的单元格或列,因为此表可能出现在工作表中的任何位置。我希望基于当前选择(第2列)进行偏移并调整大小,而无需用户进行任何手动输入。

实现此目的的一种方法是使用命名范围,在选择更改时更新其地址

首先,将以下代码添加到工作表中,以自动更新命名范围的地址:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   ActiveWorkbook.Names.Add Name:="BlueRange", RefersTo:=Target
End Sub
然后,使用“BlueRange”作为图表系列的输入范围,以便在每次选择更改时自动更新:


到目前为止,您尝试了什么?要从给定范围偏移和调整大小,有和:
SourceRange.offset(ColumnCoffset:=1)。resize(ColumnSize:=2)
假设
SourceRange
为原始蓝色范围。