看板 Office 關於我們 聯絡資訊
軟體: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 也沒辦法從特定儲存格的列高中點開始以及結束 (就是畫在格子中間) 所以想請教大家有沒有辦法可以解決 先感謝大家了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.37.173.166 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1573382464.A.52C.html
soyoso: beginx,range.left+range.width/2 11/10 19:02
soyoso: endx,range.resize.width,range.resize內的columnsize變 11/10 19:02
soyoso: 數pp減變數ii加1,減cells(kk,pp).width/2 11/10 19:02
soyoso: 不用range.resize的話,可以range(cells(ii,jj),cells(... 11/10 19:02
soyoso: ))的方式 11/10 19:02
soyoso: beginy和endx就如內文所述 11/10 19:02
soyoso: 以上述方式就可做到中點至同列其他儲存格的中點 11/10 19:04
soyoso: https://i.imgur.com/wOmPUFZ.jpg 11/10 19:04
terrylove12: 感謝S大 我以第一樓的推文去嘗試 成功了 11/11 22:01