none
Percorrer área selecionada e excluir comentarios [Resolvido] RRS feed

  • Pergunta

  • Boa tarde Pessoal,

    Estou tentando fazer uma macro, onde ela percorre uma área selecionada pelo mouse e verifique se há comentários nela, se tiver exclua o comentário e formate as células selecionadas.

    Sub Botão2313_Clique()
    
    Dim celula As Range
    Dim count As Integer
    Dim x As String
    
    
    count = 0
    
    With celula
        
       ' Set celula = Selection
    
        For Each celula In Selection
    
            count = count + 1
            
                 If Not ActiveCell Is celula.Comment Then
    
                 'ActiveCell.Comment.Delete
                 
                 End If
                 
                   celula.Offset.Interior.Color = rgbWhite
                   celula.Offset.Font.ColorIndex = 5
            
        Next
        
    End With
    
    End Sub
    
    'Set celula = Selection
    'str = Selection.Address
    
    'With celula
    
         'With Selection
        
          '       If celula.Comment Is Nothing Then
    
           '         .Comment.Delete
                 
            '     End If
                 
             '       celula.Offset.Interior.Color = rgbWhite
              '      celula.Offset.Font.ColorIndex = 5
         'End With
    
    'End With
    
    'End Sub
    Tentei de várias formas, porém retorna o erro '91', apenas comecei a tentar a programar em vb para atender esta necessidade, portanto não sei muita coisa, se puderem me ajudar, desde ja agradeço.


    • Editado Wurilo quarta-feira, 9 de dezembro de 2015 02:08 Resolvido
    segunda-feira, 7 de dezembro de 2015 16:42

Respostas

  • Não analisei o código, mas para tirar o erro altere para:

    Private Sub CommandButton1_Click()
    
    Dim celula As Range
    Dim count As Integer
    
    count = 0
    
      For Each celula In Selection
      
        count = count + 1
        
        If Not ActiveCell Is celula.Comment Then
        
          'ActiveCell.Comment.Delete
        
        End If
        
        celula.Offset.Interior.Color = rgbWhite
        celula.Offset.Font.ColorIndex = 5
      
      Next
        
    End Sub


    Natan


    • Editado 'Natan Silva terça-feira, 8 de dezembro de 2015 12:25
    • Marcado como Resposta Marcos SJ terça-feira, 8 de dezembro de 2015 12:43
    terça-feira, 8 de dezembro de 2015 12:25

Todas as Respostas

  • Olá Wurilo,

    Tudo bem?

    Por gentileza, passe a informação completa do erro para que a comunidade possa prestar algum auxílio. Supondo que "erro 91" não seja a mensagem de erro completa.

    Atenciosamente


    Marcos Roberto de Souza Junior

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 7 de dezembro de 2015 17:03
  • Olá, me desculpe, segue abaixo,

    Erro em tempo de execução '91':

    A variável do objeto ou a variável do bloco 'with' não foi definida.

    O erro acontece quando passa pelo linha ".Comment.Delete".

    Obrigado.

    segunda-feira, 7 de dezembro de 2015 17:10
  • Não analisei o código, mas para tirar o erro altere para:

    Private Sub CommandButton1_Click()
    
    Dim celula As Range
    Dim count As Integer
    
    count = 0
    
      For Each celula In Selection
      
        count = count + 1
        
        If Not ActiveCell Is celula.Comment Then
        
          'ActiveCell.Comment.Delete
        
        End If
        
        celula.Offset.Interior.Color = rgbWhite
        celula.Offset.Font.ColorIndex = 5
      
      Next
        
    End Sub


    Natan


    • Editado 'Natan Silva terça-feira, 8 de dezembro de 2015 12:25
    • Marcado como Resposta Marcos SJ terça-feira, 8 de dezembro de 2015 12:43
    terça-feira, 8 de dezembro de 2015 12:25
  • Obrigado Natan,

    Consegui realizar o codigo da seguinte forma:

    Sub Botão2313_Clique()
    
    Dim celula As Range
    Dim count As Integer
    Dim x As String
    Dim y As Comment
    
    Set celula = Selection
    
        For Each celula In Selection
            
            With celula
                 If Not celula.Comment Is Nothing Then
    
                   .Comment.Delete
                   celula.Value = ""
                 
                 End If
                 
            End With
                 
                   celula.Offset.Interior.Color = rgbWhite
                   celula.Offset.Font.ColorIndex = 5
        
        Next
    
    End Sub
    

    Obrigado pela resposta

    quarta-feira, 9 de dezembro de 2015 02:04