[算表] VBA畫線問題

看板Office作者 (空洞)時間6年前 (2019/11/10 18:41), 編輯推噓0(009)
留言9則, 2人參與, 6年前最新討論串1/1
軟體: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

11/10 19:02, 6年前 , 1F
beginx,range.left+range.width/2
11/10 19:02, 1F

11/10 19:02, 6年前 , 2F
endx,range.resize.width,range.resize內的columnsize變
11/10 19:02, 2F

11/10 19:02, 6年前 , 3F
數pp減變數ii加1,減cells(kk,pp).width/2
11/10 19:02, 3F

11/10 19:02, 6年前 , 4F
不用range.resize的話,可以range(cells(ii,jj),cells(...
11/10 19:02, 4F

11/10 19:02, 6年前 , 5F
))的方式
11/10 19:02, 5F

11/10 19:02, 6年前 , 6F
beginy和endx就如內文所述
11/10 19:02, 6F

11/10 19:04, 6年前 , 7F
以上述方式就可做到中點至同列其他儲存格的中點
11/10 19:04, 7F

11/10 19:04, 6年前 , 8F

11/11 22:01, 6年前 , 9F
感謝S大 我以第一樓的推文去嘗試 成功了
11/11 22:01, 9F
文章代碼(AID): #1Tn-b0Ki (Office)
文章代碼(AID): #1Tn-b0Ki (Office)