如何在VBA宏的图形中更新数据?

时间:2015-06-12 20:16:38

标签: excel vba excel-vba charts

所以我想出了如何选择电子表格的底部三行:

Range("A" & Cells.Rows.Count).End(xlUp).Select
Range(ActiveCell.Offset(0, 0), ActiveCell.Offset(-2, 6)).Select

但是,我无法弄清楚如何将我的选择与我录制的宏中选择的数据范围联系起来:

ActiveChart.SetSourceData Source:=Range("Sheet1!$A$26:$G$28")

我们非常感谢您的任何建议。

1 个答案:

答案 0 :(得分:0)

您必须完全符合Range 的资格。 此问题一次又一次出现(例如this)。

这是什么意思?请勿使用CellsRangeRowsColumns而不指定Worksheet他们属于,除非你特别想要这样做(即使在这种情况下,明确使用ActiveSheet提高了可读性并减少了出错的可能性,类似于使用Option Explicit)。 例如,替换

ActiveChart.SetSourceData Source:=Range("Sheet1!$A$26:$G$28")

Dim wsdata as Worksheet
Set wsdata = ActiveWorkbook.Sheets("Sheet1")
ActiveChart.SetSourceData Source:=wsdata.Range("$A$26:$G$28")

*注意*:仅当ActiveCell所使用的WorksheetActiveSheet [MSDN]时,您才能使用 VALUES (<$fullName, varchar(50),> ,<$date, datetime,>