Я создал макрос в excel, чтобы вставить красную стрелку с помощью команды клавиатуры. Я выяснил исследование, как заставить его остановить выбор ячейки, которая была выбрана, когда я написал макрос, но я не могу понять, как заставить его вставлять стрелку рядом с моим текущим выбором каждый раз. В настоящее время она вставляет стрелку в том же месте, что и моя оригинальная строка, когда я записал макрос. Есть ли способ обойти это?Excel vba insert arrow macro
Вот код:
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
читайте это: https://msdn.microsoft.com/en-us/library/office/ff834664.aspx – teddy2
Кроме того, я предлагаю прочитать [как избежать использования '.Select'] (https: // stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros) Он делает это в одной и той же ячейке, потому что ваш 'ActiveCell' никогда не изменяется. – BruceWayne
Извините, это может быть немного выше моего уровня, я не очень программист. Означает ли это, что моя просьба может быть выполнена, потому что все всегда должно быть определено относительно верхнего левого угла документа? –