Compartilhar via

Erro em tempo de execução '13' - Tipos incompatíveis

Anônima
2023-08-30T17:39:49+00:00

Bom tarde! Preciso de ajuda!

Preciso quando incluir um item na planilha Ativos deletar da planilha reparos e vice-versa. Quando clicar no botão gravar.

Conseguir assim, mas o Range só pega a célula definida nesse caso a "A5" preciso que busque o valor em todas as linhas da coluna 1, quando coloco assim range (A2:A1000) da erro.

Grato pela ajuda!

Microsoft 365 e Office | Excel | Para empresas | Windows

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários

1 resposta

Classificar por: Mais útil
  1. Dio Xavier 285.6K Pontos de reputação Moderador Voluntário
    2023-08-30T21:59:57+00:00

    Olá

    Bem vindo à Comunidade Microsoft 365 e Office

    Tudo bem, Rubem? O erro em tempo de execução '13' geralmente ocorre quando há uma incompatibilidade de tipos de dados. No seu caso, pode ser que o valor que você está tentando atribuir a uma variável não seja do tipo correto.

    Quanto ao seu problema, para excluir um item da planilha "Reparos" quando ele é adicionado à planilha "Ativos" e vice-versa, você pode usar a função "Find" para localizar o valor na coluna 1 e, em seguida, excluir a linha correspondente na outra planilha.

    Aqui está um exemplo de código que pode ajudar:

    ```

    Sub Gravar()

    *Dim valor As String*
    
    *valor = Range("A5").Value 'ou qualquer outra célula que você queira usar como referência*
    
    *'Procurar na planilha Ativos*
    
    *If Not IsError(Application.Match(valor, Sheets("Ativos").Range("A:A"), 0)) Then*
    
        *'Se o valor for encontrado na coluna A da planilha Ativos, excluir a linha correspondente na planilha Reparos*
    
        *Sheets("Reparos").Rows(Application.Match(valor, Sheets("Reparos").Range("A:A"), 0)).Delete*
    
    *End If*
    
    *'Procurar na planilha Reparos*
    
    *If Not IsError(Application.Match(valor, Sheets("Reparos").Range("A:A"), 0)) Then*
    
        *'Se o valor for encontrado na coluna A da planilha Reparos, excluir a linha correspondente na planilha Ativos*
    
        *Sheets("Ativos").Rows(Application.Match(valor, Sheets("Ativos").Range("A:A"), 0)).Delete*
    
    *End If*
    
    *'Adicionar o valor à planilha Ativos*
    
    *Sheets("Ativos").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Value = valor*
    

    End Sub

    ```

    Espero que isso ajude! Se você tiver alguma dúvida, por favor, não hesite em perguntar.

    Esta resposta foi útil?

    1 pessoa achou esta resposta útil.
    0 comentários Sem comentários