felix mauricio gasiglia Postado Outubro 29, 2019 Denunciar Share Postado Outubro 29, 2019 Senhores Bom dia. Após filtrar uma linha automaticamente, mediante um critério, como alterar a célula da coluna 2 desta linha filtrada em VBA? Segue o código até o filtro: 'FILTRAR Windows("CONTROLE_APP.xlsm").Activate Sheets("CAD-EQUIPAMENTOS").Select Range("A2").Select Selection.AutoFilter ActiveSheet.Range("$A$1:$Z$50000").AutoFilter Field:=1, Criteria1:=COD_EQUIPAMENTO_PESQUISA 'Eu preciso neste ponto alterar a célula da coluna 2 desta linha filtrada Quem poder ajudar, obrigado, Felix Mauricio Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 AlexandreNSilva Postado Outubro 30, 2019 Denunciar Share Postado Outubro 30, 2019 (editado) Boa tarde! uma duvida. pode acontecer do filtro carregar mais de uma linha, ou isso não vai acontecer? será sempre uma unica linha no filtro. se for o caso de apenas uma unica linha, voce pode selecionar o cabeçalho e utilizar o indexOf para ir para a linha abaixo a assim alterala. ou se você souber a posição em que a linha esta você pode utilizar o mesmo codigo Range("A2").Select e alterar o valor dele Editado Outubro 30, 2019 por AlexandreNSilva Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 felix mauricio gasiglia Postado Outubro 31, 2019 Autor Denunciar Share Postado Outubro 31, 2019 Olá Alexandre Boa noite. Primeiramente muito obrigado pela ajuda. Bem, será sempre apenas uma linha, o critério de busca é uma chave única (um código) distinto. Eu não entendi como fazer , seleciono a linha 1 (cabeçalho), beleza, e como usar idexof para selecionar a linha abaixo? Tem como dar um exemplo? Obrigado, Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 AlexandreNSilva Postado Outubro 31, 2019 Denunciar Share Postado Outubro 31, 2019 (editado) Felix, foi mal, eu coloquei o procedimento errado, mas é a mesma coisa. no caso é o ActiveCell.Offset(0, 1).Select, só não me recordo agora no momento se no Offset(Coluna, Linha) ou Offset(Linha, Coluna), mas faz os testes ai, para ver para onde a celula ira se movimentar. tem também o Selection.End().Select o Selection.End é a função CTRL+Seta acho que esse vai servir melhor para você. segue um exemplo: ActiveSheet.Range("$G$6:$J$16").AutoFilter Field:=4, Criteria1:="1" Range("I6").Select Selection.End(xlDown).Select qualquer duvida, da uma olhada neste tutorial. https://docs.microsoft.com/pt-br/office/troubleshoot/office-developer/select-cells-rangs-with-visual-basic outra maneira é que como você sabe o critério do filtro através do COD_EQUIPAMENTO_PESQUISA, você pode fazer um loop para percorrer a coluna ate encontrar a coluna que você precisa e assim alterala Editado Outubro 31, 2019 por AlexandreNSilva Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 felix mauricio gasiglia Postado Novembro 1, 2019 Autor Denunciar Share Postado Novembro 1, 2019 Alexandre Boa noite. Na mosca, deu certo, estava faltando um jeito de fato para selecionar a linha filtrada que é exibida da linha 2. No exemplo abaixo a linha que contém o argumento é a linha 5384 que após o filtro é exibida na linha 2. Mas eu precisava em que linha (5384) foi encontrada o conteúdo/parâmetro pesquisado. Então (Selection.End(xlDown).Select) resolveu tudo, porque com isso seleciona a linha filtrada que é exibida na linha 2. Portanto, bastou perguntar o número da linha que estava selecionada. Muito obrigado mesmo, resolveu definitivamente, arrasou !!!!!! Servirá de case para as demais pessoas. Veja como ficou abaixo: Sub teste_filtro() Dim LINHA As Long Dim LOCALIZACAO As String Dim LINHA_FILTRADA As Long ' ' teste_filtro Macro ' ' 'DESABILITAR FILTRO ANTERIOR POR GARANTIA Windows("TrovaoFilmes_APP.xlsm").Activate Sheets("LOCAL FIXO TEMP").Select For Each sht In Worksheets If sht.AutoFilterMode = True Then sht.AutoFilter.ShowAllData End If Next 'FILTRAR Windows("TrovaoFilmes_APP.xlsm").Activate Sheets("LOCAL FIXO").Select Range("A2").Select Selection.AutoFilter ActiveSheet.Range("$A$1:$B$50000").AutoFilter Field:=1, Criteria1:="00101D018" Selection.End(xlDown).Select LINHA_FILTRADA = Selection.Row MsgBox "linha_filtrada : " & LINHA_FILTRADA End Sub Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
felix mauricio gasiglia
Senhores
Bom dia.
Após filtrar uma linha automaticamente, mediante um critério, como alterar a célula da coluna 2 desta linha filtrada em VBA?
Segue o código até o filtro:
'FILTRAR
Windows("CONTROLE_APP.xlsm").Activate
Sheets("CAD-EQUIPAMENTOS").Select
Range("A2").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$Z$50000").AutoFilter Field:=1, Criteria1:=COD_EQUIPAMENTO_PESQUISA
'Eu preciso neste ponto alterar a célula da coluna 2 desta linha filtrada
Quem poder ajudar, obrigado,
Felix Mauricio
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.