Excluir linhas e co...
 
Notifications
Clear all

[Resolvido] Excluir linhas e colunas cuja soma seja 0

Página 1 / 2

JSCOPA10
Posts: 320
Moderator
Topic starter
(@jscopa10)
Reputable Member
Entrou: 2 anos atrás

Amigos, boa noite.

Devido a um erro cometido no trabalho esta semana ... preciso de uma ajudinha dos CARAS do VBA!!

Gostaria de um VBA(zinho) que, ao clicar no botão, excluísse as colunas com 0 (zero) na linha 6 ... e outro botão para excluir as linhas com 0 (zero) na coluna Z!!

Explicações bem iguais no próprio arquivo!!

Desde já, MUITO obrigado!!

Responder
7 Respostas
JSCOPA10
Posts: 320
Moderator
Topic starter
(@jscopa10)
Reputable Member
Entrou: 2 anos atrás

EdsonBR, vc fez algo parecido que funcionou muito bem, e por muito tempo ...

Mas em OUT/21 tive que mudar o arquivo, aí o código deixou de funcionar ...

Por isto gostaria, como disse, de Código para excluir as colunas que tem zero "0" na linha 6 ...

E outra para excluir as linhas com zero "0" na coluna Z

Assim ficaria mais fácil eu Editar, caso necessário!!

 

Responder
EdsonBR
Posts: 896
Moderator
(@edsonbr)
Prominent Member
Entrou: 6 anos atrás

Boa noite, amigo!

Crie os dois botões e teste esse código:

Option Explicit
Enum Excluir
  Linha = 0
  Coluna = 1
End Enum

Sub btnLinha_Click()
  ExcluiComZeros Excluir.Linha
End Sub

Sub btnColuna_Click()
  ExcluiComZeros Excluir.Coluna
End Sub

Sub ExcluiComZeros(tipo As Excluir)
  Dim r As Range, c As Range, rDel As Range
  If tipo = Linha Then Set r = [Z:Z] Else Set r = [6:6]
  On Error GoTo Fim
    Set r = r.SpecialCells(xlCellTypeFormulas)
    For Each c In r.Cells
      If c.Value = 0 Then
        If rDel Is Nothing Then Set rDel = c Else Set rDel = Union(rDel, c)
      End If
    Next c
    If tipo = Linha Then Set rDel = rDel.EntireRow Else Set rDel = rDel.EntireColumn
    rDel.Delete
Fim:
End Sub

 

Responder
1 Responder
JSCOPA10
Moderator
(@jscopa10)
Entrou: 2 anos atrás

Reputable Member
Posts: 320

@edsonbr, valeu!!! ... SHOW!!!

Responder
JordsdoExcel
Posts: 71
Registered
(@jordsdoexcel)
Trusted Member
Entrou: 3 meses atrás

Olá, Edson.

Uma dúvida de um noob em vba, que tá tentando aprender. Essa última Sub não deveria ser uma Function?

Abs.

Responder
EdsonBR
Posts: 896
Moderator
(@edsonbr)
Prominent Member
Entrou: 6 anos atrás

Boa noite, @jordsdoexcel!

 

Definitivamente não, pois o que diferencia fundamentalmente uma Sub de uma Function é o fato de que uma Sub executa ações, simples ou complexas, enquanto que uma Function, embora também possa executar algumas tarefas corriqueiras, é usada pra retornar algum valor ou objeto. É equivalente a uma variável, ou seja, pode ser colocada à direita de um sinal de igualdade ou desigualdade, ter seu valor atribuído a outra variável, etc.

No procedimento do amigo @JSCOPA10 o uso é exclusivamente para executar ações (deletar linhas ou colunas), não pra retornar algum valor ou intervalo.

Responder
Página 1 / 2