Compartilhar via

Excluir uma linha se condicional for FALSA

Anônima
2018-01-17T16:35:11+00:00

Oi pessoal,

Estou com um problema em um arquivo que tem várias planilhas.

A primeira planilha é a geral, em que coloco todos os orçamentos que foram fechados, um por linha. Em cada linha eu coloco em algum ponto o fornecedor responsável por produzir aquele ítem. 

As seguintes planilhas do arquivo, uma por fornecedor, copia alguns dados da planilha geral. Na condicional criada em cada uma dessas planilhas, se na linha da planilha geral constar o nome do fornecedor daquela planilha, alguns dados são copiados. Caso contrário aparece FALSO.

Eu gostaria que quando aparecesse FALSO, ou seja, quando aquele pedido não for do fornecedor em questão, não aparecesse nada naquela planilha, ou seja a linha fosse excluída.

Não sei se me expliquei bem, mas adoraria uma ajuda!

Obrigada,

Microsoft 365 e Office | Excel | Para uso doméstico | 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

Resposta aceita pelo autor da pergunta

Anônima
2018-01-18T15:16:54+00:00

Você pode criar uma macro que varra, numa coluna, células que possuam o valor falso e então excluir essas linhas.

Lembre-se que isso não ocorrerá automaticamente, mas sim sob demanda (isto é, você irá clicar num botão / rodar a macro e ela excluirá as linhas).

O código segue:

Sub Main()

    Const COL = "A" 'troque  a letra da coluna pela letra que se encontram os VERDADEIRO/FALSO

    Dim iRow As Long

    Dim ws As Worksheet

    Dim LastRow As Long

    Set ws = ActiveSheet

    LastRow = ws.Cells(ws.Rows.Count, COL).End(xlUp).Row

    Application.ScreenUpdating = False

    For iRow = LastRow To 2 Step -1 'considernado uma linha de cabeçalho

        If ws.Cells(iRow, COL).Value2 = False Then

            ws.Rows(iRow).Delete

        End If

    Next iRow

    Application.ScreenUpdating = True

End Sub

Esta resposta foi útil?

0 comentários Sem comentários

0 respostas adicionais

Classificar por: Mais útil