| 
    
     |  | ▼okura さん: こんばんは。
 
 >AddLineでの、線がずれる問題に困っています。
 >
 '==================================
 Sub test()
 Dim ln1shp As Shape
 Dim ln2shp As Shape
 Set ln1shp = ActiveSheet.Shapes.AddLine(100, 100, 100, 200)
 Set ln2shp = ActiveSheet.Shapes.AddLine(101, 100, 101, 250)
 DoEvents
 With ln1shp
 MsgBox .Left & "---" & .Top
 End With
 With ln2shp
 MsgBox .Left & "---" & .Top
 End With
 Set ln1shp = ActiveSheet.Shapes.AddLine(150, 100, 150, 200)
 Set ln2sgp = ActiveSheet.Shapes.AddLine(151, 100, 151, 250)
 DoEvents
 With ln1shp
 MsgBox .Left & "---" & .Top
 End With
 With ln2shp
 MsgBox .Left & "---" & .Top
 End With
 End Sub
 
 新規ブックで上記のコードを実行させてみてください。
 
 Leftを100と指定したのに99.75になっていますよね?
 ポイントって0.75単位でしか指定できません。
 よって、100と指定しても
 round(100/0.75,0)*0.75という計算でまるめられます。
 これを計算に入れてシェイプを作成しなくてはなりません。
 
 
 |  |