[算表] 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