Como posso inserir uma linha clicando no hiperlink no VBA

1

Meu código não está funcionando, estou tentando inserir uma linha clicando no link Hyperlink e My estou usando + símbolo ...

     ActiveSheet.Cells(1, 1).Value = "+"
       If ActiveSheet.Cells(1, 1) <> "" Then
         ActiveSheet.Hyperlinks.Add Anchor:=Cells(1, 1), _
         Address:=strString
       End If

Esta pasta de trabalho .....

       Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
        If Target.Parent.Value = "+" Then Rows(Target.Parent.Row + 1).Insert
       End Sub
    
por user3713336 02.03.2017 / 03:59

1 resposta

0

Hyperlinks(1).Parent como um intervalo de Hyperlinks(1).Parent.Parent como uma planilha

Assim, o seu código deve ser:

With ActiveSheet
    .Cells(1, 1).Value = "+"
    '''No need to test as you fill it yourself
    .Hyperlinks.Add Anchor:=.Cells(1, 1), Address:=strString
End If

Módulo de folha:

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

ou menor:

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

Eu adicionei o parâmetro CopyOrigin , para copiar o formato da linha abaixo para evitar a reprodução do estilo de hiperlink na linha recém-inserida!

CopyOrigin usa um dos parâmetros conforme abaixo:

Const xlFormatFromLeftOrAbove = 0
Member of Excel.XlInsertFormatOrigin

e

Const xlFormatFromRightOrBelow = 1
Member of Excel.XlInsertFormatOrigin
    
por 09.03.2017 / 16:25