【发布时间】:2019-11-20 11:14:40
【问题描述】:
我正在自动生成每周报告,该报告执行一些重复性工作来清理和清理数据集。在清理过程结束时,我会运行几份报告。
在上一份报告中,我在名为“数据透视”的工作表上的数据透视表中汇总数据。我需要选择一个动态范围以在名为“图表”的工作表上生成折线图。
我在选择动态范围时遇到了问题。我喜欢创建的图表部分。
我的数据透视表看起来像这样;
| A | B | C | D | E | F | G | H | I | J
1| | | | | | | | | |
2| |Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Total
3|Duration| 3 | 3 | 2 | 1 | 2 | 3 | 4 | 5 | 23
数据集包括 2017 年、2018 年和 2019 年的数据。
我仅过滤 2019 年的数据。我们只想创建最近 6 个月的图表。因此,如果我在 8 月运行报告,我希望脚本选择 I2:D2,然后复制到剪贴板,这样我就可以粘贴到“图表”工作表以生成我的折线图。
这是我的挑战;
第一个挑战 - 我需要选择当前月份 (I2) 追溯到 6 个月 (D2)。
第二次挑战 - 假设我在 3 月 (D3) 运行报告,脚本应该只选择 (D3:B3)
我想出了如何找到当前月份的单元格,选择它,然后将地址添加到变量中。
MyMonth = MonthName(Month(Date)) ' In this case: August
With Worksheets("Pivot").Cells
Set cellFound = .Find(MyMonth, LookIn:=xlValues)
If Not cellFound Is Nothing Then
cellFound.Select ' Selects I2
End If
End With
上面的代码符合我的预期,找到当前月份的单元格,选择单元格,然后将地址 ($I$2) 添加到变量中。我不知道从这里去哪里。
【问题讨论】: