none
Quais são os códigos VBA para desabilitar a margem interna automática de um comentário individual e definir as suas margens internas Esquerda, Direita, Superior e Inferior? RRS feed

  • Pergunta

  • Vou tentar ser o mais claro possível.

    Eu tenho a seguinte macro:

    Sub Novo_Comentário()

    '

    ' Inserir comentário na célula selecionada; colocar no comentário a fórmula contida na célula selecionada; formatar o comentário conforme especificado; reposicionar o comentário.

    '

     

     Dim oCel As Range

      For Each oCel In Selection

       With oCel

        .ClearComments

        .AddComment

        .Comment.Text Text:=oCel.FormulaLocal 

        .Comment.Shape.TextFrame.AutoSize = True

        .Comment.Shape.TextFrame.Characters.Font.Size = 8

        .Comment.Shape.TextFrame.HorizontalAlignment = xlJustify

        .Comment.Shape.TextFrame.VerticalAlignment = xlTop

        .Comment.Shape.TextFrame.AutoSize = False

        .Comment.Shape.Top = oCel.Comment.Parent.Top + 5 

        .Comment.Shape.Left = oCel.Comment.Parent.Offset(0, 1).Left + 5 

      End With

      Next oCel

    End Sub

    Pois bem.

    O que eu preciso é inserir nesta macro o código que desabilita a margem interna automática do comentário e os códigos que definem as margens internas Esquerda, Direita, Superior e Inferior do comentário, tal como mostrado a seguir:

    Imagem

    Já tentei gravar uma macro para obter esses códigos, mas a desabilitação da Margem Interna Automática e alteração das margens Esquerda, Direita, Superior e Inferior não geram códigos na macro!!!

    Fiz o seguinte teste: 

    Na célula ID10 digitei a fórmula =ID9 + 1 e inseri o seguinte comentário nesta célula: =ID9 + 1 .

    Depois disso, acionei a gravação de macro para gerar os códigos correspondentes às seguintes ações:

    1. Clique com o botão direito do mouse na célula ID10 e escolha Editar Comentário.
    2. Clique com o botão direito do mouse sobre a borda do comentário e selecione Formatar comentário.
    3. Clique em Margens, desabilite a margem interna automática, altere as margens Esquerda, Direita, Superior e Inferior e clique em OK.

    Parei a gravação da macro.

    Como resultado, obtive a seguinte macro:

    Sub Teste()

    '

    ' Teste Macro

    '


    '

        Range("ID10").Comment.Text Text:="=ID9+1"

    End Sub

    Ou seja, não foram gerados os códigos referentes às ações de desabilitar a Margem Interna Automática e alterar as margens Esquerda, Direita, Superior e Inferior !!!

    Desde já agradeço a atenção para quem se propuser a resolver esta questão.

    sábado, 6 de julho de 2019 01:00