Ir ao conteúdo
  • Cadastre-se

Excel Erro VBA Botão de Macro


Ir à solução Resolvido por Midori,

Posts recomendados

Boa tarde, eu estou com um problema no VBA, eu montei uma planilha (bem extensa, porque não consegui abreviar alguns comandos) e acabei criando ao total 20 sub no mesmo modulo e tentei configurar para o botão do macro, executar todos eles, porém ao clicar no botão alguns macros vão e outros macros não, segue em anexo alguns sub, e o macro que está no botão.image.thumb.png.d1642ecf492db7557057186874fb6bfe.pngimage.thumb.png.63d0041ab1135a4b94558a7949f3e35a.pngimage.thumb.png.fdfb69360636a9e291004eb7425a7e50.pngimage.thumb.png.fdfb69360636a9e291004eb7425a7e50.png

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Boas @Gabriel Gallonetti ,

Poderia anexar o ficheiro?
Talvez consiga reduzir o seu código e remover o erro.

Obrigado. :)

 

Link para o comentário
Compartilhar em outros sites

@Gabriel Gallonetti Acho que devia tentar usar apenas uma sub com um critério. No primeiro print parece que quer excluir as linhas que tenham o texto "Total" (e no outro print o "Filial"). Se for isso você pode fazer assim,

 

For Linha = Area.Rows.Count To step - 1
    If InStr(Area(Linha), "Total") <> 0 Or _
        InStr(Area(Linha), "Filial") <> 0 Then
        Area(Linha).EntireRow.Delete
    End If
Next Linha


 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

5 minutos atrás, Gabriel Gallonetti disse:

Essa linha de código que você está me informando ela pesquisaria somente por essa palavra ou "Total" ou então a "Filial"?.

A função InStr procura pela ocorrência de determinada palavra no texto, no código que postei é "Total" ou "Filial".

Link para o comentário
Compartilhar em outros sites

  • Solução

@Gabriel Gallonetti Antes do Step tem o número 1, assim vai funcionar,

 

Sub ExcluirLinha()
    Dim Linha   As Long
    Dim Area    As Range

    Set Area = [B1:B1000]

    For Linha = Area.Rows.Count To 1 Step -1
        If InStr(Area(Linha), "Total") <> 0 Or _
            InStr(Area(Linha), "Filial") <> 0 Then
                Area(Linha).EntireRow.Delete
        End If
    Next Linha
End Sub

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Curso de Hacker Ético

LANÇAMENTO!

CLIQUE AQUI E CONFIRA!

* Este curso não é ministrado pela equipe do Clube do Hardware.