Excel vba插入箭头宏

时间:2016-09-07 18:38:33

标签: excel vba excel-vba

我在excel中创建了一个宏,通过键盘命令插入一个红色箭头。我通过研究发现如何让它停止选择我编写宏时选择的单元格,但我无法弄清楚如何使它每次都插入当前选择旁边的箭头。它当前在我录制宏时将箭头插入与原始行相同的位置。有办法解决这个问题吗?

以下是代码:

Sub Red_Arrow_Insert()

 Red_Arrow_Insert Macro
 Insert Red Arrow

 Keyboard Shortcut: Ctrl+Shift+A

    ActiveCell.Select
    ActiveSheet.Shapes.AddConnector(msoConnectorStraight, 264, 50.25, 353.25, 139.5 _
        ).Select
        Selection.ShapeRange.Line.EndArrowheadStyle = msoArrowheadOpen
    With Selection.ShapeRange.Line
        .Visible = msoTrue
        .ForeColor.RGB = RGB(255, 0, 0)
        .Transparency = 0
    End With
    With Selection.ShapeRange.Line
        .Visible = msoTrue
        .Weight = 1.5
    End With
    ActiveCell.Select
End Sub

1 个答案:

答案 0 :(得分:1)

此请求可以使用Top的{​​{1}}和Left属性完成,并使用这些数字放置箭头,因为ActiveCell和{{1在文档的左上角测量属性,并假设箭头始终是静态长度。

请参阅下面的重构代码:

Top

n.b。 - 我使用89.25作为长度,因为它是原始代码中点数的差异。根据需要进行更改。