所以我想出了如何选择电子表格的底部三行:
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")
我们非常感谢您的任何建议。
答案 0 :(得分:0)
您必须完全符合Range
的资格。
此问题一次又一次出现(例如this)。
这是什么意思?请勿使用Cells
,Range
,Rows
或Columns
而不指定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
所使用的Worksheet
为ActiveSheet
[MSDN]时,您才能使用 VALUES
(<$fullName, varchar(50),>
,<$date, datetime,>
。