Página 1 de 1

Exclusão de Linhas

Enviado: 29 Mar 2021 às 21:02
por marcosdolzany
Olá
Tenho uma base de dados e preciso de uma rotina (macro) que faça com que permaneça apenas os registros que tenham na coluna G os seguintes exames: RX, DT, TC, US, MG e RM.
As demais linhas precisam ser eliminadas, inclusive as VAZIAS

Obs: se alguém tiver outra ideia, estou aberto

Agradeço

Re: Exclusão de Linhas

Enviado: 29 Mar 2021 às 23:49
por babdallas
Usei filtro avançado. Veja nas colunas ao lado dos dados que tem o cabeçalho para pesquisa e o local onde copio os dados filtrados.
Código: Selecionar todos
Public Sub Filtrar()
    Dim arr         As Variant
    
    Application.ScreenUpdating = False
    Application.Interactive = False
    With wshTeste
        .Range("A1").CurrentRegion.AdvancedFilter _
            Action:=xlFilterCopy, CriteriaRange:=.Range("AE1:AJ7"), _
            CopyToRange:=.Range("AM1"), Unique:=False
        
        .Range("A1").CurrentRegion.ClearContents
        arr = .Range("AM1").CurrentRegion.Value
        
        .Range("A1").Resize(UBound(arr, 1), UBound(arr, 2)).Value = arr
        .Range("AM1").CurrentRegion.ClearContents
    End With
    
    Application.ScreenUpdating = True
    Application.Interactive = True
    
    VBA.MsgBox "Dados filtrados com sucesso"
End Sub

Re: Exclusão de Linhas

Enviado: 31 Mar 2021 às 15:29
por marcosdolzany
Funcionou....
Mas tem um detalhe: a minha base de dados original tem quase 500.000 linhas. quando eu fiz o post anexei um arquivo 45.000 linhas, pois tive que reduzir o tamanho do arquivo.
Agora, quero copiar a MACRO para a planilha original e não está funcionando...

Re: Exclusão de Linhas

Enviado: 31 Mar 2021 às 16:29
por babdallas
Veja se os dados estão nas mesmas colunas do arquivo que vc mandou. Se for diferente, precisa adaptar o código.
Se não conseguir, coloca o arquivo original aqui de forma compactada.

Re: Exclusão de Linhas

Enviado: 01 Abr 2021 às 10:28
por marcosdolzany
Primeiro obrigado pela disposição
Eis o arquivo compactado.
Informações adicionais: os dados são gerados pelo sistema da empresa. Exportamos o relatório em Excel e copiamos para a planilha em questão. Já nessa planilha, executamos uma macro para substituir o nome dos exames (coluna G) pra ficar padrão: RX Torax tem ficar somente RX e assim procedemos com US, DT, MG, RM e TC. A macro do RX já está feita... De repente vc tem uma ideia melhor...
Aí, depois precisamos eliminar todas as linhas que tem exames diferentes de US, DT, MG, RM, RX e TC, que é o meu pedido que estamos tratando.
Ressalto, por fim, que reduzi a quantidade de linhas para poder te enviar o arquivo. O arquivo original já tem 152.000 linhas e deve ficar perto de 500.000 linhas até o final do ano