Tag: excel charts

使用VBA恢复Excel图表的默认大小调整行为

我正在寻找一种方法来在Excel 2010中禁用图表(例如通过使用VBA操作图表)时恢复图表的默认/本机调整行为。 现在我还没有find任何关于我心目中的行为的东西,所以我想假设它需要详细的解释。 在Excel中input并select随机数字数据到4-5个单元格,然后插入一个新的聚集列图表。 您需要查看图表的绘图区域。 现在select图表,并用下面一行获取PlotArea.Top值 ActiveChart.PlotArea.Top 如果尚未触及图表,则返回值为7.现在,使用图表的一个图柄来垂直调整图表的大小,然后再次使用相同的命令行。 activechart.plotarea.top 注意如何返回值仍然是7.现在在VBA中将此属性设置为7。 ActiveChart.PlotArea.Top = 7 再次,抓住一个把手, 垂直调整图表的大小,再次使用.top属性: ActiveChart.PlotArea.Top 注意值现在已经改变了。 根据你减less或增加图表的大小,它将会小于或大于7。 一旦图表中的任何元素被手动或使用VBA代码移动,它就会丢失这个“绝对位置”属性,并在图表resize时开始在ChartArea内移动。 尽pipe某些元素可以使用.SetElement重置,但这对于绘图区域不起作用。 例如,下面的命令行不会恢复我所描述的行为。 ActiveChart.SetElement msoElementPlotAreaNone ActiveChart.SetElement msoElementPlotAreaShow 我使用VBA做了很多自动调整图表的大小,并且让绘图区域自行移动,这使得预测调整图表大小的效果变得更加困难,并导致结果不一致。 所以回到问题:有没有人知道一种方法来恢复这种默认行为,无论是整个图表,或者至less专门为PlotArea? 提前感谢任何人可能帮助! 文森特

Epplus支持Excel 2013吗?

我有一个Excel文件,它是在Excel 2013 MS包中创build的。 它包含数字值和图表。 我曾打开该文件,并添加新的行,然后保存该文件时,在C#.net中得到此错误 图表不支持此属性或方法 任何人都可以告诉我,epplus的限制,直到什么版本的Excel epplus将支持? 谢谢,

使用循环自动调整Excel图表线重量

我正试图调整Excel图表上的线条粗细(或重量)。 我希望每行的厚度根据我已经保存在一个命名的范围“重量” 我有麻烦得到这个双循环的权利 我有VBA循环,但目前它调整每个图表serries到我的“Weights”系列中的所有值,然后循环到下一个Srs。 我希望我的每个值只能更改一次,然后select下一个重量。 当我试图强制循环到下一个“Srs”我得到“无效的下一个控制variables引用” 如何构build这个双循环来调整每条线(Srs)到我的每个权重(£w) 谢谢 Sub SetWeights() Dim Srs As Series Dim myWeight As Range Dim £w As Range Set myWeight = Range("Weights") With ActiveSheet For Each Srs In ActiveChart.SeriesCollection For Each £w In myWeight Srs.Format.Line.Weight = £w 'Debug.Print £w Next 'Srs Next '£w End With End Sub

Excel:100%堆栈条形图,条形图不能正确绘制几个值的组合

请看下面的图片:第一个图表中的橙色条怎么可能那么大。 即使我把这两个值分成105,21或53,10等一半,这种模式也会重复。 一旦数值为43,图表就开始performance良好。 谢谢。

如何使用Apache POI将图表复制到其他工作表(3.11)

我需要复制/移动图表到不同的现有的/新的工作表。 我们可以使用POI来做到这一点吗? 我可以在同一张纸上移动图表,但不能移动到不同的纸张上。

VBA更新图表的源数据

我正在使用VBA生成图表。 使用下面的代码,我可以select列号11到最后一列的数据,这些列存储在LastColumnNumbervariables中: ActiveChart.SetSourceData Source:=Union(Sheets(SheetName).Range(Cells(1, 11), Cells(1, LastColumnNumber)), Sheets(SheetName).Range(Cells(4, 11), Cells(4, LastColumnNumber))) 因为我实际需要在图表中显示的数据之前和之后有很多零值我正在使用以下方法找出第一个和最后一个非零单元格的地址: https : //stackoverflow.com /一个/二百零一万二千七百四十零分之四千二百四十一万三千五百八十二 我怎样才能更新第一块代码来实现链接答案的解决scheme,并相应地缩小图表的范围?

Excel VBA – 使点不可见移除标记

我有一个问题,使我的系列(使他们不可见)的一些观点。 在下面的图片中,您可以看到,它进展顺利,直到我看不见点。 标记的图例变得混乱,将图例设置为XValues,在本例中为“1”,“2”等等。 是否有可能使点不可见,但保留原始的标记图例?

Excel – 在水平轴上添加一个水平的“目标线”

我在Excel中有一个XY(散点图)图表,它正在显示两个完全按照我的需要的数据集。 是否可以添加一个单一的“目标”行在我select的X点访问? 所以我们假设Y轴是0%到100%。 假设我绘制的任何一条线都低于50%,我只会感到高兴。 是否可以添加一条红线,50%,所以我可以一眼就看到一条线在其上或下方?

使用VBA Excel代码中的RecordSet数据创build图表

我从Access获取数据,复制到Excel工作表并使用Excel VBA创build图表。 数据如下所示: 图表看起来像这样: 我想显示在工作表中的所有交易,但在图表中我想显示date的总和。 例如19/08/2015共计2695,20/08/2015共计287。 如何在VBA Excel中创build图表来显示每天的总和?

VBA循环使用另一张表中的数据更新图表系列

在工作表(“成本”)中,下面的代码中有一个错误。 一旦错误得到解决,我打算把一个'c(x)'计数器循环通过每个图表 运行时错误'1004':对象'_Worksheet'的方法'范围'失败 我认为这个错误与我如何引用其他工作表有关 Dim p As Worksheet, cost As Worksheet Set cost = Workbooks("dashboard.xlsm").Worksheets("Cost") Set p = Workbooks("dashboard.xlsm").Worksheets("p") Dim c(1 To 3) As Variant p.Activate '[c(x)] denotes ranges for each chart object 'modified by counter [i], denoting ranges for each series Set c(1) = p.Range(Cells(3, 1 + i), Cells(3, 1 + i).End(xlDown)) Set c(2) […]