发布网友 发布时间:2024-08-20 17:53
共1个回答
热心网友 时间:2024-08-28 17:54
excel中好多数据生成图表了,需要把其中的一组数据改变然后再次生� 如果还是在原数据表里,直接修改数据就行了呀
当然如果是要利用新数据重新生成一个图表的话,可以把现在的图表和源数据复制到其他单元格,然后修改数据,并重新链接图表的数据源,这样可以保证新生成的图表格式与原来的一样
选择数据区域,在“插入”选项下的“图表”中,选择相应的图表类型,如折线图、散点图、柱形图、条形图等,即可生成相应的图表。
excel数据生成图表问题问题解决了吗?
用一组数据然后制作EXCEL2003图表.双击Y轴的数值,会出现“坐标轴格式”,里面有个刻度(第2个),在这可以修改间隔
excel表格中如何实现一组数据改变,其他几组数据都随之改变 ??为什么要把4000多列都放在同一单元格?
你意思是要分拆一个数据一单元格吧?
如果是这样,可以把那几组数据一次性复制到一文本(TXT)文件里,再通过导入数据,导入到数据表中.在导入时记得根据你数据的情况,选择按空格、|、或,什么的来分列。
C#让Excel中数据自动生成图表
以前用过,保存了一个函数如下:
private void CreateChart(Excel._Workbook m_Book,Excel._Worksheet m_Sheet,int num)
{
Excel.Range oResizeRange;
Excel.Series oSeries;
m_Book.Charts.Add(Missing.Value, Missing.Value, 1, Missing.Value);
m_Book.ActiveChart.ChartType = Excel.XlChartType.xlLine;设置图形
设置数据取值范围
m_Book.ActiveChart.SetSourceData(m_Sheet.get_Range("A2", "C" + num.ToString()), Excel.XlRowCol.xlColumns);
m_Book.ActiveChart.Location(Excel.XlChartLocation.xlLocationAutomatic, title);
以下是给图表放在指定位置
m_Book.ActiveChart.Location(Excel.XlChartLocation.xlLocationAsObject, m_Sheet.Name);
oResizeRange = (Excel.Range)m_Sheet.Rows.get_Item(10, Missing.Value);
m_Sheet.Shapes.Item("Chart 1").Top = (float)(double)oResizeRange.Top; 调图表的位置上边距
oResizeRange = (Excel.Range)m_Sheet.Columns.get_Item(6, Missing.Value); 调图表的位置左边距
m_Sheet.Shapes.Item("Chart 1").Left = (float)(double)oResizeRange.Left;
m_Sheet.Shapes.Item("Chart 1").Width = 400; 调图表的宽度
m_Sheet.Shapes.Item("Chart 1").Height = 250; 调图表的高度
m_Book.ActiveChart.PlotArea.Interior.ColorIndex = 19; 设置绘图区的背景色
m_Book.ActiveChart.PlotArea.Border.LineStyle = Excel.XlLineStyle.xlLineStyleNone;设置绘图区边框线条
m_Book.ActiveChart.PlotArea.Width = 400; 设置绘图区宽度
m_Book.ActiveChart.ChartArea.Interior.ColorIndex = 10; 设置整个图表的背影颜色
m_Book.ActiveChart.ChartArea.Border.ColorIndex = 8; 设置整个图表的边框颜色
m_Book.ActiveChart.ChartArea.Border.LineStyle = Excel.XlLineStyle.xlLineStyleNone;设置边框线条
m_Book.ActiveChart.HasDataTable = false;
设置Legend图例的位置和格式
m_Book.ActiveChart.Legend.Top = 20.00; 具体设置图例的上边距
m_Book.ActiveChart.Legend.Left = 60.00;具体设置图例的左边距
m_Book.ActiveChart.Legend.Interior.ColorIndex = Excel.XlColorIndex.xlColorIndexNone;
m_Book.ActiveChart.Legend.Width = 150;
m_Book.ActiveChart.Legend.Font.Size = 9.5;
m_Book.ActiveChart.Legend.Font.Bold = true;
m_Book.ActiveChart.Legend.Font.Name = "宋体";
m_Book.ActiveChart.Legend.Position = Excel.XlLegendPosition.xlLegendPositionTop;设置图例的位置
m_Book.ActiveChart.Legend.Border.LineStyle = Excel.XlLineStyle.xlLineStyleNone;设置图例边框线条
设置X轴的显示
Excel.Axis xAxis = (Excel.Axis)m_Book.ActiveChart.Axes(Excel.XlAxisType.xlValue, Excel.XlAxisGroup.xlPrimary);
xAxis.MajorGridlines.Border.LineStyle = Excel.XlLineStyle.xlDot;
xAxis.MajorGridlines.Border.ColorIndex = 1;gridLine横向线条的颜色
xAxis.HasTitle = false;
xAxis.MinimumScale = 1500;
xAxis.MaximumScale = 6000;
xAxis.TickLabels.Font.Name = "宋体";
xAxis.TickLabels.Font.Size = 9;
设置Y轴的显示
Excel.Axis yAxis = (Excel.Axis)m_Book.ActiveChart.Axes(Excel.XlAxisType.xlCategory, Excel.XlAxisGroup.xlPrimary);
yAxis.TickLabelSpacing = 30;
yAxis.TickLabels.NumberFormat = "M月D日";
yAxis.TickLabels.Orientation = Excel.XlTickLabelOrientation.xlTickLabelOrientationHorizontal;Y轴显示的方向,是水平还是垂直等
yAxis.TickLabels.Font.Size = 8;
yAxis.TickLabels.Font.Name = "宋体";
m_Book.ActiveChart.Floor.Interior.ColorIndex = 8;
/***以下是设置标题*****
m_Book.ActiveChart.HasTitle=true;
m_Book.ActiveChart.ChartTitle.Text = "净值指数";
m_Book.ActiveChart.ChartTitle.Shadow = true;
m_Book.ActiveChart.ChartTitle.Border.LineStyle = Excel.XlLineStyle.xlContinuous;
*/
oSeries = (Excel.Series)m_Book.ActiveChart.SeriesCollection(1);
oSeries.Border.ColorIndex = 45;
oSeries.Border.Weight = Excel.XlBorderWeight.xlThick;
oSeries = (Excel.Series)m_Book.ActiveChart.SeriesCollection(2);
oSeries.Border.ColorIndex = 9;
oSeries.Border.Weight = Excel.XlBorderWeight.xlThick;
}
自己改吧改吧
先不要选数据。
关闭置于空白处:菜单栏——插入——图表——图表类型:选类型——下一步——系列——添加——值:导入纵坐标数据——分类(X)轴标志:导入横坐标数据——默认完成。
假定数值在C列 d1输入=IF(COUNTIF(B:B,A1)=0,"",INDEX(B:B,MATCH(A1,B:B,0))) e1输入=if(d1="","",vlookup(d1,b:c,2,0)) 选定两列公式下拉 复制C、D两列 点击B列>右键>选择性粘贴>数值>确定 删除D、E列
B1输入下面公式
=INDIRECT("H"&ROUNDUP(ROW(A1)/10,0))
再选定B1到B10单元格下拉复制
楼主是在学习VBA吗
不然为何要把简单的事情复杂化呢
显然这个问题是不需要VBA的