Exclui todas as células contendo -1

2

Gostaria de começar com dados como a Tabela A, abaixo, e produzir uma nova tabela como a Tabela B, abaixo, excluindo células contendo -1 e recolhendo cada coluna para eliminar as células vazias.

Eu sei como fazer isso manualmente, mas preciso atualizar a Tabela A muitas vezes e avaliar a tabela B todas as vezes, então estou procurando um processo automático. Existe alguma combinação de funções que permitiria isso?

Eu escrevi as próximas macros. Deve funcionar executando-o uma vez. No entanto, por algum motivo, preciso executá-lo várias vezes para finalmente obter o resultado da Tabela B. Qual é o motivo disso?

Sub Macro1()
Dim i As Integer, j As Integer
For i = 1 To 10
  For j = 1 To 5
     If Cells(i, j).Value = -1 Then
         Cells(i, j).Select
         Selection.Delete Shift:=xlUp
     End If
  Next j
Next i
End Sub

    
por Juanfran 16.03.2018 / 21:54

1 resposta

1

Fazendo um loop pelas células para baixo e excluindo algumas delas com outras alterações, porque a macro não verifica todas as células.

A solução fácil aqui é subir para cima:

For i = 10 To 1 step -1
    
por 18.03.2018 / 13:33