Jump to content
Fórum Script Brasil
  • 0

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


Question

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 to post
Share on other sites

4 answers to this question

Recommended Posts

  • 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

Edited by AlexandreNSilva
Link to post
Share on other 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 to post
Share on other 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

Edited by AlexandreNSilva
Link to post
Share on other 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 to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148692
    • Total Posts
      644524
×
×
  • Create New...