本帖最后由 single_star 于 2011-11-16 12:57 编辑
图表绘图区(PlotArea)内部坐标应用说明 Set pa = ActiveChart.PlotArea y0 = pa.InsideTop x0 = pa.InsideLeft w1 = pa.InsideWidth h1 = pa.InsideHeight 则作用中图表绘图区(PlotArea) 左上角坐标=(x0,y0) '(InsideLeft , InsideTop) 右下角坐标=(x0+w1,y0+h1) '(InsideLeft+InsideWidth , InsideTop+InsideHeight)
'***************************************
求柱形图数据点数值(n)对应图表位置坐标(y1) mini = ActiveChart.Axes(xlValue).MinimumScale '取得图表Y轴最小刻度 maxi = ActiveChart.Axes(xlValue).MaximumScale '取得图表Y轴最大刻度 则 y1=y0+h1-h1*n(maxi-mini)
求第n个数据点数对应图表X轴位置坐标(x1)
则 x1=x0+w1*(n-1+0.5)/n0 'n0代表图表数据点数(X轴刻度数),o.5代表该数据点在X刻度间位置居中 '*************************************************************************************** 了解绘图区坐标关系,则可以用VBA为图表在指定位置添加线条、曲线、图形或文字标示 (可使用录制宏方式取得绘图代码並加以參考宏编辑器的帮助說明,如此即可用VBA画出你想要的图形、標示等效果) (如此畫出的線或图形會自動隨图表形大小進行缩放及移动)
|