在Excel VBA中添加一行,更改厚度和绘图"向上"

时间:2014-05-08 03:24:43

标签: excel vba excel-vba

我正在尝试使用Excel VBA绘制线条,除了2件事情之外它工作得很好, 1)如何使线条更粗? 2)向上和向右的线不会被绘制。水平或向下和向右的那些画得很好。

这是我的代码:

Sub DrawLine(FromCell As Range, ToCell As Range)
 With FromCell.Parent.Shapes.AddLine(1, 1, 1, 1)
  .Left = FromCell.Left + (FromCell.Width)
  .Top = FromCell.Top + (FromCell.Height)
  .Width = (ToCell.Left) - .Left
  .Height = (ToCell.Top + (ToCell.Height)) - .Top
 End With
End Sub

Sub GoDraw()
 Call DrawLine(Range("D3"), Range("H3"))
 Call DrawLine(Range("D3"), Range("H7"))
 Call DrawLine(Range("D3"), Range("H11"))

 Call DrawLine(Range("D7"), Range("H3"))
 Call DrawLine(Range("D7"), Range("H7"))
 Call DrawLine(Range("D7"), Range("H11"))

 Call DrawLine(Range("D11"), Range("H3"))
 Call DrawLine(Range("D11"), Range("H7"))
 Call DrawLine(Range("D11"), Range("H11"))

End Sub

1 个答案:

答案 0 :(得分:1)

这是我几年前写的一篇关于用VBA编程形状的文章。请参阅“添加连接器和线”部分。

http://www.breezetree.com/articles/excel-2007-autoshapes-vba.htm

“向上和向右”的行称为弯头连接器,您可以通过在添加行时设置MsoConnectorType变量来设置它。