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.
  • Avatar do usuário
  • Avatar do usuário
Avatar do usuário
Por Angra
Posts Avatar
#12220
Boa noite
Peguei essa macro em outro fórum, achei interessante e preciso alterar a entrada de dados e modo como ela retorna os resultados, se alguém quiser contribuir... agradeço. :D
Você não está autorizado a ver ou baixar esse anexo.
Avatar do usuário
Por alexandrevba
Avatar
#12562
Bom dia!!

Porque não usar um filtro?
Código: Selecionar todos
Sub AleVBA_2427()
    Dim rngA As Range
    Dim cell As Range
     
    Set rngA = Range("NX6:OQ6")
    For Each cell In rngA
        If cell.Value = [OT4].Value Then
            cell.Select
            Selection.AutoFilter Field:=ActiveCell, Criteria1:=Range("OV4").Value
        End If
    Next cell
End Sub
Att
Avatar do usuário
Por Angra
Posts Avatar
#12570
Bom dia
Meu caro alexandrevba, esse filtro até serviria mas preciso mostrar na célula OX4, apenas o ultimo valor encontrado e o filtro
puxa todos os valores ao mesmo tempo. Outra coisa, é que essa macro vai atuar numa plan que vai ficar oculta e o resultado e os dados de entrada numa plan "visível". Se vc puder fazer mais esse favor minha gratidão. :D
Avatar do usuário
Por alexandrevba
Avatar
#12573
Boa tarde!!

Me diga uma coisa, qual dos resultados (caso tenha mais de uma linha), resultados deve ser retornado?

Att
Avatar do usuário
Por Angra
Posts Avatar
#12575
no exemplo dado, o valor procurado é o 3 (OV4). O valor máximo que pode aparecer em OV4 é 20. A pesquisa visa somente saber qual foi o ultima valor que apareceu naquela linha/coluna informada em OT4/OV4 respectivamente. O resultado na célula OX4 é necessario porque a plan de pesquisa fica oculta. Se for usado o recurso do filtro, então é preciso "desfazer" o filtro para uma próxima consulta.
Avatar do usuário
Por alexandrevba
Avatar
#12740
Boa tarde!!

Tente assim...


Att
Você não está autorizado a ver ou baixar esse anexo.
Avatar do usuário
Por Angra
Posts Avatar
#12773
alexandrevba é isso mesmo, só pra finalizar com 100% de satisfação. A plan origem fica oculta, depois que a macro faz a pesquisa e mostra o resultado, o filtro fica fica "ativo", tem como desativar o filtro para uma nova pesquisa. Depois de

LastRow = .Cells(Rows.Count, "NV").End(xlUp).Row
.Range("NV7:NV" & LastRow).Copy Destination:=wsR.Range("K1")

fiz no gravador de macro

Sheets("Origem").Select
Selection.AutoFilter
Sheets("Resultado").Select

mas não deu certo não. Se puder colocar no finalzinho da macro essa condição, ficava bom. :D
Avatar do usuário
Por alexandrevba
Avatar
#12777
Bom dia!!
Por favor click no Obrigado e marque seu post como resolvido!
Tente o código abaixo.
Código: Selecionar todos
Sub AleVBA_2427()
Dim i As Integer, rngData As Range
Dim wsF As Worksheet:    Set wsF = Sheets("Origem")
Dim wsR As Worksheet:    Set wsR = Sheets("Resultado")

Set rngData = wsF.Range("NX6").CurrentRegion '<- Fixa uma região para atuação do filtro
    wsR.Columns("K").ClearContents           '<- Limpa os dados da coluna K
'-> Localiza o cabeçalho baseado em critério em outra guia
    i = Application.WorksheetFunction.Match(wsR.Range("B3").Value, wsF.Range("NX6:OQ6"), 0)
'-> Filtra os dados
    rngData.AutoFilter Field:=i, Criteria1:=wsR.Range("D3").Value
'-> Copia os dados filtrados para outra guia
    With wsF
        LastRow = .Cells(Rows.Count, "NV").End(xlUp).Row
        .Range("NV7:NV" & LastRow).Copy Destination:=wsR.Range("K1")
        .ShowAllData 'Remove o filtro
    End With
'-> Remove a cor do preenchimento da coluna
    With Columns("K:K").Interior
        .ColorIndex = xlNone
    End With
End Sub
Att
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