Есть ли способ вставить строку, нажав на символ +, который у меня есть на одной из моих клеток.

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
    If Target.Parent.Value = "+" Then
        Insert.Row
        Exit Sub
    End If
End Sub
2
user3713336 1 Мар 2017 в 00:03

2 ответа

Лучший ответ

Предполагая, что вам нужно добавить строку под гиперссылкой (ниже в модуле «Рабочий лист»):

Option Explicit

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
    If Target.Parent.Value = "+" Then Rows(Target.Parent.Row + 1).Insert
End Sub

Дело в том, нужно ли создавать еще одну гиперссылку на этот новый ряд? Это недальновидный дизайн, так как у вас есть ограничение в 66 530 гиперссылок на лист.

Любопытно, почему командная кнопка не вариант?

0
PatricK 28 Фев 2017 в 22:40

Это ново для меня. У вас есть гиперссылка, назначенная на знак "+"? Макрос followhyperlink не будет работать, если у вас нет гиперссылки в этой ячейке.

Следующее будет работать с любой текстовой ячейкой, вы можете использовать знак плюс или «Добавить строку», или любой другой текст, который вы хотите. Затем, если эта ячейка выбрана, она добавит новую строку ниже. Если вы хотите быть уверенным, что не выбрали ячейку случайно, вы можете использовать вместо этого «Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean)», что заставит вас дважды щелкнуть знак «+», чтобы добавить строка.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Value = "+" Then
        Rows(Target.Row + 1).Insert
        Cells(Target.Row + 1, Target.Column).Value = "+"
        Cells(Target.Row + 1, Target.Column).Select
    End If
End Sub

Или быть в безопасности с двойным щелчком мыши

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Value = "+" Then
    Rows(Target.Row + 1).Insert
    Cells(Target.Row + 1, Target.Column).Value = "+"
    Cells(Target.Row + 1, Target.Column).Select
End If

End Sub
1
John Muggins 1 Мар 2017 в 15:25