Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
Por marcosdolzany
#63365
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
Você não está autorizado a ver ou baixar esse anexo.
Por babdallas
#63367
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
Você não está autorizado a ver ou baixar esse anexo.
Por marcosdolzany
#63434
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...
Por babdallas
#63435
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.
Por marcosdolzany
#63445
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
Você não está autorizado a ver ou baixar esse anexo.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord