【发布时间】:2016-03-21 12:46:22
【问题描述】:
我正在用 C# 重新创建 VBA 程序,在更新系列图表时遇到了问题。我在谷歌和论坛上花费了大量时间来为自己寻找问题的答案,但似乎无法弄清楚。
我要做的是更新系列图表以查看不在图表所在位置的工作表中的数据,并更新范围。
我的问题是在更新系列图表时,C# 将只接受一个范围。但是,系列图表所需的范围包含工作表名称,并且范围不能包含文本(所以我被引导相信)。 我需要重新创建的范围示例如下;
=ANZ!$J$313:$J$737,ANZ!$M$313:$O$737
我目前拥有的代码是:
CloudAllTrialsDataPage = UpdateBook.Worksheets[CloudAllTrialsChartDataPage1];
LastRow = CloudAllTrialsDataPage.Range["J:J"].Find(StartDate, Type.Missing, XlFindLookIn.xlValues, XlLookAt.xlWhole, XlSearchOrder.xlByRows, XlSearchDirection.xlNext, Type.Missing, Type.Missing, Type.Missing).Row;
FoundCell = CloudAllTrialsDataPage.Range["J:J"].Find(strDateLM, Type.Missing, XlFindLookIn.xlValues, XlLookAt.xlWhole, XlSearchOrder.xlByRows, XlSearchDirection.xlNext, Type.Missing, Type.Missing, Type.Missing).Row;
Excel.Range Range1 = CloudAllTrialsDataPage.Range["J" + FoundCell + ":J" + LastRow];
Excel.Range Range2 = CloudAllTrialsDataPage.Range["M" + FoundCell + ":O" + LastRow];
Range DataRange = CloudAllTrialsDataPage.Range[Range1].Address + CloudAllTrialsDataPage.Range[Range2].Address;
chartObject2 = CloudAllTrialsChartPage.ChartObjects(Type.Missing);
myChart = (Excel.ChartObject)chartObject2.Item("Monthly2");
myChart.Chart.SetSourceData(DataRange);
所有代码都正确提取并正常工作,直到将范围插入图表为止。我尝试了各种不同的解决方法,但总是遇到尝试将工作表名称添加到范围的问题。
任何帮助或指点将不胜感激。
谢谢。
免责声明:我是外行,如果我的任何术语“不正确”,请见谅。
【问题讨论】:
-
语法帮助并不完全是我想要的,而是他们所说的“每天都是上学日”。