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 todosPublic 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