Tag: 系列

将系列添加到Excel图表exception

我有一个用一些数据填充的excel文件。 我正在尝试打开第二张纸并创build一个图表。 问题是,该Series正在给我一个System.Runtime.InteropServices.COMException was caught或者如果我取消注释注释行一个No overload for method 'SeriesCollection' takes '0' arguments 。 这是我有的代码: Microsoft.Office.Interop.Excel.ChartObjects chartObjs = (Microsoft.Office.Interop.Excel.ChartObjects)ws.ChartObjects(Type.Missing); Microsoft.Office.Interop.Excel.ChartObject chartObj = chartObjs.Add(100, 20, 300, 300); Microsoft.Office.Interop.Excel.Chart xlChart = chartObj.Chart; Range rg1 = ws.get_Range("A1", "D" + rowcount); rg1.VerticalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter; xlChart.SetSourceData(rg1, Microsoft.Office.Interop.Excel.XlRowCol.xlColumns); xlChart.ChartType = XlChartType.xlLine; xlChart.Legend.Position = XlLegendPosition.xlLegendPositionBottom; Axis axis = (Axis)xlChart.Axes(Microsoft.Office.Interop.Excel.XlAxisType.xlValue, Microsoft.Office.Interop.Excel.XlAxisGroup.xlPrimary); axis.MaximumScaleIsAuto = false; […]

用VBA更改系列公式 错误代码1004

我正在开发一个excel项目,帮助可视化血液工作,为每个单一值生成图表。 正如我试图阻止图表中的空值,我添加了两张实际pipe理数据(“#data”)和图表(“#charts”)的表单。 在“数据”中input数值和date,在“图表”中您将看到图表(空白图表不会显示),“#数据”有助于生成系列,“#图表”实际上带有图表。 目前,我正在研究一个VBA脚本,它将帮助我复制“#charts”的图表并更改重复的系列(我需要大约100个)。 它适用于第一次重复,但第二次,我得到一个运行时错误#1004:应用程序定义的对象定义的错误。 我认为这可能与图表系列有关,所以我将这个系列的范围做成了相同的 – 不幸的是,这并没有解决问题。 第一个重复完美的作品,第二个不重要。 这里是我的文件的链接: http : //ovh.to/ZkmYCUk 复制脚本: Sub tt() j = 3 L = "C" s = 4 * (j – 1) Cr = Int((j – 1) / 4) + 1 cc = (j – 1) Mod 4 + 1 Dim oldc As ChartObject Dim newc As Object […]

VB.net格式化系列并删除1个图例条目

我有一些VB.NET代码,它使用Excel从一些数据创build图表。 图表如何工作,但我发现从VBA切换到VB格式化很困难。 我只想将图例中的系列1删除,图表中的数据要么将透明度设置为100,要么将填充设置为不填充。 我已经玩charpage.seriescollection(1).format.fill等,但我没有得到它。 我的代码: Dim xlApp As Excel.Application = New Microsoft.Office.Interop.Excel.Application() Dim xlWorkBook As Excel.Workbook = Nothing Dim xlWorkbooks As Excel.Workbooks = Nothing Dim xlWorkSheet As Excel.Worksheet = Nothing Dim chartPage As Excel.Chart Dim xlCharts As Excel.ChartObjects Dim myChart As Excel.ChartObject Dim chartRange As Excel.Range Dim Chartarea As Excel.ChartArea xlCharts = xlWorkSheet.ChartObjects myChart = […]

如何列出12个月(循环)不是从第一个月开始?

给定一个date,例如。 05/05/2006 ,我需要从所给date的月份开始,列出12列。 我意识到我需要列出几个月,我只是不知道如何循环(即如果中间的一个月份是十二月,下一个月份是一月份)。 从其他编程经验中,我知道的唯一方法是使第一列等于第一个月,然后为其他列创build嵌套条件语句 IF(A1="Jan","Feb",IF(A1="Feb","Mar"…….)) 我敢肯定,有一个更好的办法比蛮力(加,Excel不允许我input许多嵌套的条件)。

VBA确定系列计数和删除

我有一些使用命名范围创builddynamic图表的代码。 图表应该只有5个系列,但由于某种原因,它创造的不止于此。 因此我想确定图表有多less个系列,并删除SeriesCollection(5)上面的所有系列。 我相信我这样做的方式是非常低效的,并且已经分解了好几次(由于无效参数错误)。 我怎样才能以有效的方式编写这个任务,而不需要处理错误呢? 我目前使用的代码是: With ActiveChart If .SeriesCollection.Count = 6 Then .SeriesCollection(6).Delete End If If .SeriesCollection.Count = 7 Then .SeriesCollection(6).Delete .SeriesCollection(7).Delete End If If .SeriesCollection.Count = 8 Then .SeriesCollection(6).Delete .SeriesCollection(7).Delete .SeriesCollection(8).Delete End If End With

有没有办法通过VBA调整Excel图表中的LegendEntries(系列)的顺序?

我正在做一个Excel图表自动化。 当我尝试向上移动一个LegendEntry(Series)对象时,我无法从MS站点find任何相关的API方法。 手动方式如下:select图表>右键单击> select数据… >select一个LegendEntry >单击button上移 。 我怎样才能做到这一点的VBA? 先谢谢你。

Excel根据列值绘制dynamic系列

我不知道如何说这个短语,但我基本上希望根据其他数据之前的列值,将数据分组为一个excel图。 例如: size weight apple 3 35 orange 4 63 banana 5 43 apple 5 32 apple 4 123 orange 4 21 banana 3 23 如果我有这个数据,我想要的结果是一个系列中的所有苹果,他们自己的系列中的所有橙子,X和Y上的大小的散点图。我一直在尝试搞乱与数据透视表,但我卡住,因为它提供了平均值/计数,而不是每一个数据点。 我知道如何使用sorting手动添加一个系列,但是我希望可能有一些更简单的方法来加速这个过程,因为它看起来很直观。 谢谢

Excel VBA不返回ObjectThemeColor?

我有一个图表Series (由variablessr引用)。 如果我执行 sr.Format.Line.ForeColor.ObjectThemeColor = msoThemeColorAccent2 (= 6),然后我得到 ? sr.Format.Line.ForeColor.ObjectThemeColor 0 这怎么可能? 分配msoThemeColorAccent2的行完成其工作,即颜色被正确地更改。 PS:这是一个更具体的问题,来自这个问题。

从图中删除空的系列(使用VBA)

我试图从Excel图表中删除所有空系列。 Dim isEmptySeries As Boolean For Series = 1 To .SeriesCollection.count .SeriesCollection(Series).ApplyDataLabels Type:=xlDataLabelsShowValue, AutoText:=True, LegendKey:=False isEmptySeries = True For i = 1 To .SeriesCollection(Series).points.count If .SeriesCollection(Series).points(i).DataLabel.Text = 0 Then .SeriesCollection(Series).points(i).HasDataLabel = False Else isEmptySeries = False .SeriesCollection(Series).points(i).DataLabel.Font.Size = 17 End If Next i If isEmptySeries Then .SeriesCollection(Series).Delete End If Next Datenreihe 该脚本在ApplyDatalabels行(“对象图的方法SeriesCollection失败”)失败。 我相信当Excel中的其中一个系列被删除时,Excel会改变系列索引? 是这样吗? 这是我对错误的唯一解释。 […]

将一系列单元格复制到通过单元格命名的多个工作表中

感谢您花时间看我的VBAmacros。 我的这个macros的目标是将一行单元格(e7:i7)复制到一个复制的工作簿中,该工作簿的工作表中粘贴了一个模板,并通过一系列单元格命名(c7)。 然后使用(c8)作为其名称,用下一行单元格(e8:i8)重复该过程。 我有模板工作表重复工作,我有工作表命名工作。 我的问题是将单元格从“工作表”复制到使用(c7)系列作为其名称新命名的工作表。 我正进入(状态 “运行时错误'9':下标超出范围 感谢您的帮助,因为这是我的第一个VBA项目。 Sub NEWSAVINGSTEST1() ' ' NEWSAVINGSTEST1 Macro ' Dim ws1 As Worksheet Set ws1 = ThisWorkbook.Worksheets("NEWSAVINGS") Dim MyCell As Range, MyRange As Range Set MyRange = Sheets("Master").Range("c7") Set MyRange = Range(MyRange, MyRange.End(xlDown)) For Each MyCell In MyRange Sheets("NEWSAVINGS").Select Sheets("NEWSAVINGS").Copy After:=Sheets(Sheets.Count) 'creates a new worksheet 'ws1.Copy ThisWorkbook.Sheets(Sheets.Count) Sheets(Sheets.Count).Name = […]