[算表] VBA画线问题

楼主: terrylove12 (空洞)   2019-11-10 18:41:02
软件:EXCEL
版本:2010&2019
想请问VBA画线的一个问题
最近写了一个进度管控的程式
需要利用VBA去画一些线
线画的位置跟储存格的数值有关
所以位置并不是每个专案都固定
因此用到以下的方法去写
With ActiveSheet.Shapes.AddLine(Cells(ii, jj).Left, Cells(ii, jj).Top,
Cells(kk, pp).Left, Cells(kk, pp).Top)
END WITH
这样的确可以画出线没问题
但我希望线条的位置是从储存格列高中心到另个储存格的列高中心
因此我试过把.TOP 改成.HEIGHT/2
但是画出来位置变成 第一列的中心位置
尝试过.TOP+HEIGHT/2 也没办法从特定储存格的列高中点开始以及结束
(就是画在格子中间)
所以想请教大家有没有办法可以解决
先感谢大家了
作者: soyoso (我是耀宗)   2019-11-10 19:02:00
beginx,range.left+range.width/2endx,range.resize.width,range.resize内的columnsize变量pp减变量ii加1,减cells(kk,pp).width/2不用range.resize的话,可以range(cells(ii,jj),cells(...))的方式beginy和endx就如内文所述以上述方式就可做到中点至同列其他储存格的中点https://i.imgur.com/wOmPUFZ.jpg
楼主: terrylove12 (空洞)   2019-11-11 22:01:00
感谢S大 我以第一楼的推文去尝试 成功了

Links booklink

Contact Us: admin [ a t ] ucptt.com