Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Destacar célula ativa sem Clicar (RESOLVIDO)

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Elane2020
Colaborador
Colaborador
Mensagens: 36
Registrado em: Sex Jun 26, 2020 9:26 pm

Destacar célula ativa sem Clicar (RESOLVIDO)

Mensagem por Elane2020 »

Boa noite, pessoal!!!

Preciso de um código que, ao procurar um valor no formulário localizar do excel, ele já localize com a célula destacada. Pq os códigos que tenho só realçam se clicar na célula, e eu queria ao localizar o valor ainda com o formulário aberto.

Grata se alguém puder ajudar.
Editado pela última vez por Elane2020 em Ter Set 01, 2020 9:46 pm, em um total de 1 vez.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
LaerteB
Colaborador
Colaborador
Mensagens: 96
Registrado em: Qui Out 19, 2017 8:20 am

Re: Destacar célula ativa sem Clicar

Mensagem por LaerteB »

Boa tarde, Elane2020

Como tu ainda é novata aqui no Fórum, vou fazer uma exceção e te passar o código
para a sua dúvida, contudo terá que colocar em um botão dentro
do seu Formulário; abaixo o código na integra:

Código: Selecionar todos

Private Sub CommandButton1_Click()

 Dim pesqx As String
 Dim c As Range

   pesqx = InputBox("Informe valor a ser Pesquisado.", "LOCALIZAR")

     With Worksheets(1).Range("A:XFD")

      Set c = .Find(pesqx, Lookat:=xlWhole)

      If Not c Is Nothing Then

       Worksheets(1).Activate
       Range(c.Address).Activate
   
      Else
    
       MsgBox "O valor não foi encontrado!", vbInformation, "ATENÇÃO"

      End If

     End With

   Set c = Nothing
   
End Sub
Criando o botão, incluindo este código acima e quando clicar nele irá abrir
uma janela com um campo a ser digitado o valor a ser pesquisado; tem que
ser o valor ou nome "exato", se achar irá destacar a célula que contém o que
procurou..

Espero que seja isso que queria...

Mais abaixo, contém um texto que é muito importante; sempre anexe um arquivo exemplo
para os próximos Tópicos abertos.

Aguardando sua resposta e seu Feed Back ... se foi útil, coloque um smile :P ...

OBS:
"Como todos aqui, temos compromissos e não temos muito tempo para criar um arquivo do zero, pois
ajudamos somente no nosso tempo livre... é muito importante você anexar uma planilha de
exemplo com dados (fictícios) e que não seja o projeto inteiro ; explicando com as informações
necessárias para alcançar o seu objetivo, desta forma poderemos ajudá-lo com maior rapidez e
eficácia (a maioria nem olharia este Tópico sem um arquivo exemplo, pois existe muitas
"variáveis" que podem impossibilitar o sucesso parcial ou total da solução proposta,se não tiver um
arquivo exemplo que for disponibilizado) ;) .."


LaerteB :)


Elane2020
Colaborador
Colaborador
Mensagens: 36
Registrado em: Sex Jun 26, 2020 9:26 pm

Re: Destacar célula ativa sem Clicar

Mensagem por Elane2020 »

Boa noite, obgda pela ajuda.

Acho que não me expressei bem. Na verdade, eu havia inserido um método Application para que, quando a informação não fosse encontrada no meu userform, a janela de busca do excel fosse ativada para localizar a informação em uma outra plan (é no formulário padrão do excel). A minha pergunta é: teria como destacar o valor procurado em cada busca SEM CLICAR na célula do excel? Eu tenho o código para destacar, mas ele só funciona ao clicar, no formulário de busca do excel, quando busco a informação, ele não ativa a cor (já tentei colocar uma regra de formatação condicional, mas não funcionou tbm ou fiz da forma errada). Por isso quis saber se existe a possibilidade, para poder tentar outra rotina no projeto.

Cordialmente,
Anexos
Localizar.png
Localizar.png (48.47 KiB) Exibido 14326 vezes


Avatar do usuário
LaerteB
Colaborador
Colaborador
Mensagens: 96
Registrado em: Qui Out 19, 2017 8:20 am

Re: Destacar célula ativa sem Clicar

Mensagem por LaerteB »

Bom dia, Elane2020

Veja como um arquivo exemplo é necessário, pois além de você não ter
detalhado como queria que fosse executado a "procura" e "destaque" de
um valor nas células do seu projeto; sem ele fica muito difícil entender
as dúvidas lançadas, dando margem a equívocos como esses mencionados...

Então para podermos analisar o seu caso com melhor eficácia, sem ter que
recorrer ao "chutômetro", por gentileza anexe um arquivo exemplo com
dados fictícios; e verifique a possibilidade de usar o código que te passei
anteriormente (não é necessário criar um formulário no VBE, se quiser
usar avise que te informamos como fazer), só que quando tivermos o
arquivo exemplo teremos que fazer algumas modificações, pelo fato
"novo" que mencionou na sua última mensagem...

OBS: por gentileza informe com mais detalhes sobre esse método Application
que tu implementou, como está inserido no seu projeto e mostre como ele
funciona; para podermos te ajudar melhor...

Aguardando sua resposta, seu arquivo exemplo e seu Feed Back ... se foi útil, coloque um smile :P ...

LaerteB :D


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Elane2020
Colaborador
Colaborador
Mensagens: 36
Registrado em: Sex Jun 26, 2020 9:26 pm

Re: Destacar célula ativa sem Clicar

Mensagem por Elane2020 »

Boa tarde, Laerte.

Obgda novamente por responder. Anexei um modelo reduzido.
Ainda não consegui testar o que vc enviou, acho que só mais tarde consigo, com mais calma.

Grata.
Anexos
Modelo.zip
(77 KiB) Baixado 159 vezes


Avatar do usuário
LaerteB
Colaborador
Colaborador
Mensagens: 96
Registrado em: Qui Out 19, 2017 8:20 am

Re: Destacar célula ativa sem Clicar

Mensagem por LaerteB »

Boa noite, Elane2020

Acho que entendi o que quer, desta forma estou passando os códigos que fazem o que solicitou...

Abaixo o código que terá que copiar e colar no "Módulo4"; substitua o "Imputbox_Localizar",
pelo "Inputbox_pesquisa":

Código: Selecionar todos

Sub Inputbox_pesquisa()

 Dim pesqx As String
 Dim c As Range
 Dim x As Integer, xsheet As Integer

   xsheet = ThisWorkbook.Worksheets.Count

   pesqx = InputBox("Informe valor a ser Pesquisado.", "LOCALIZAR")

   For x = 1 To xsheet Step 1

    If Trim(pesqx) <> "" Then
     With Worksheets(x).Range("A5:G50") 

      Set c = .Find(pesqx, LookIn:=xlValues, Lookat:=xlWhole) 

      If Not c Is Nothing Then

       Worksheets(x).Activate
       Range(c.Address).Activate
       
     Else
    
      End If

   End With
    
  End If
    
    Next

 Set c = Nothing

End Sub
Agora altere o trecho do código (conforme a imagem mais abaixo) referente ao Objeto/Procedimento:

Código: Selecionar todos

Private Sub CBPesquisar_Click()
Img 001 duvida 3 - 01-09-2020.jpg
Img 001 duvida 3 - 01-09-2020.jpg (45.36 KiB) Exibido 11258 vezes
Verifique e teste se está de acordo com as suas dúvidas ;) ..

Aguardando sua resposta e seu Feed Back ... se foi útil, coloque um smile :P ...

LaerteB :D


Elane2020
Colaborador
Colaborador
Mensagens: 36
Registrado em: Sex Jun 26, 2020 9:26 pm

Re: Destacar célula ativa sem Clicar

Mensagem por Elane2020 »

Bom dia, Laerte.

Obgda pela ajuda. Na verdade, era quase isso... rsrsrs! Só que direto do "Inputbox" do Excel (podendo digitar apenas parte do código ex: 0119 e localizar próx., daí ele vai destacando cada valor encontrado). Mas acho que vou utilizar dessa forma que vc passou... Testei aqui e funciona perfeitamente se inserir o código completo. Já chega de bater cabeça com isso... rsrsrs!

Agradeço pelo auxílio novamente, e uma boa semana de trabalho!


Avatar do usuário
LaerteB
Colaborador
Colaborador
Mensagens: 96
Registrado em: Qui Out 19, 2017 8:20 am

Re: Destacar célula ativa sem Clicar

Mensagem por LaerteB »

Boa tarde, Elane2020

Eu verifiquei o código e modifiquei para que quando você digitar apenas
parte do código (como no seu ex: 0119), localizará todas relacionadas,
e destaca com a cor amarela (que tu já tinhas colocado na Planilha2)
cada linha encontrada...

Abaixo o código modificado, copie e cole no no "Módulo4" no "Inputbox_pesquisa":

Código: Selecionar todos

Sub Inputbox_pesquisa()

 Dim pesqx As String
 Dim cell As Range
 Dim x As Integer, xsheet As Integer

   xsheet = ThisWorkbook.Worksheets.Count

   pesqx = InputBox("Informe valor a ser Pesquisado.", "LOCALIZAR")

   For x = 1 To xsheet Step 1

    If Trim(pesqx) <> "" Then

    For Each cell In Worksheets(x).Range("A5:G50")
    
       If cell Like UCase((pesqx) & "*") Then

       Worksheets(x).Activate
       Range(cell.Address).Activate
        ActiveCell.EntireRow.Cells(1, 2).Interior.ColorIndex = 36
        ActiveCell.EntireRow.Cells(1, 3).Interior.ColorIndex = 36
        ActiveCell.EntireRow.Cells(1, 4).Interior.ColorIndex = 36

     Else
    
      End If

   Next
    
    End If
    Next
    
 Set c = Nothing

End Sub
Veja que utilizei o seu trecho de código para que as linhas fossem coloridas
quando localizadas no "inputbox"...

Você pode excluir o código que se encontra dentro do Objeto/Procedimento, que
anexei na imagem abaixo (com informações), pois para o seu caso não
será mais necessário:
Img 002 duvida 4 - 01-09-2020.jpg
Img 002 duvida 4 - 01-09-2020.jpg (45.28 KiB) Exibido 10405 vezes
Agora copie e cole este código abaixo em qualquer "Módulo":

Código: Selecionar todos

Sub ApagaCorLinhas()

' Seleciona todas as Sheets/Planilhas visiveis e retira a cor das linhas
' deixando-as brancas novamente

    Dim ws As Worksheet
    
    For Each ws In Worksheets

        If ws.Visible = xlSheetVisible Then
          ws.Cells.Interior.ColorIndex = xlColorIndexNone
            ws.Select False
            
            Range("G1").Select
            
        End If

    Next ws

End Sub
Com esse código acima tu podes apagar as linhas que foram coloridas de amarelo,
deixando-as novamente brancas (coloque em qualquer botão ou outro modo a sua
escolha):

Agora está tudo como queria, se tiver algo mais estamos aqui para ajudá-la...

Verifique e teste... Aguardo sua resposta e seu Feed Back ...
se foi útil, coloque um smile :P ...

LaerteB


Elane2020
Colaborador
Colaborador
Mensagens: 36
Registrado em: Sex Jun 26, 2020 9:26 pm

Re: Destacar célula ativa sem Clicar

Mensagem por Elane2020 »

Nossa... Muito obgda! Vou testar daqui a pouco...
Vcs são ótimos! Aprendo muito aqui nesse fórum.

Assim que testar eu deixo uma mensagem.

Muito grata pela ajuda, novamente!


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder