Ir para conteúdo
Fórum Script Brasil
  • 0

COMO ALTERAR A CÉLULA DA COLUNA 2 DE UMA LINHA FILTRADA EM VBA


felix mauricio gasiglia

Pergunta

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

  • 0

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 por AlexandreNSilva
Link para o comentário
Compartilhar em outros sites

  • 0

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,

Link para o comentário
Compartilhar em outros sites

  • 0

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 por AlexandreNSilva
Link para o comentário
Compartilhar em outros sites

  • 0

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
 

 

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...