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.
#33523
Boa tarde pessoal!
Recentemente estou trabalhando em um código que:
- Busque pela palavra(ou parte dela) contida em um textbox:
Ex: "Morango" ou "mor"
- Busca seja feita em determinadas guias:
Ex: Tenho 5 guias: A, B, C, D e E. contudo a pesquisa será feita apenas nas guias A, B e D
- Quando encontrar o valor pesquisado em uma célula, direcione para a guia e célula com valor encontrado.

Até o momento consegui o seguinte código:
Código: Selecionar todos
Private Sub CommandButton1_Click()
  Pesquisa = Plan1.TextBox1.Value
  If Pesquisa = "" Then Exit Sub
  Set plan = Sheets("Nome_da_Planilha") 'DEFINE NOME DA PLANILHA
    Set x = plan.Cells.Find(what:=Pesquisa)
    If Not x Is Nothing Then
      firstAddress = x.Address
      Do
        plan.Select
        x.Select
        Set x = plan.Cells.FindNext(x)
      Loop While Not x Is Nothing And x.Address <> firstAddress
    Else
      MsgBox "Texto não encontrado na planilha " & plan.Name
    End If
End Sub
O problema é que só estou conseguindo fazer a pesquisa em uma das guias ou no worksheet inteiro, não consegui definir as guias onde vai ser feita a pesquisa.

Exemplo:
Tenho as guias A, B, C, D e E
Quero que a pesquisa seja feita apenas nas guias A, B e D
Se o valor do textbox estiver na guia A, B ou D abrir a guia e selecionar a célula com o valor respectivo.

No código inserido acima no tópico está tudo acontecendo perfeitamente com exceção de conseguir rodar em mais de uma guia.
Conto com vocês! Obrigado desde já.
#33600
Anexa um exemplo.
#33603
Experimente:
Código: Selecionar todos
Private Sub CommandButton1_Click()
 Dim Pesquisa As String, ws As Worksheet, x As Range
  Pesquisa = Plan1.TextBox1.Value
  If Pesquisa = "" Then Exit Sub
  For Each ws In Sheets(Array("A", "B", "D"))
   Set x = ws.Cells.Find(what:=Pesquisa, lookat:=xlPart)
    If Not x Is Nothing Then
     ws.Activate: x.Select: End Sub
    End If
  Next ws
  MsgBox "Texto não encontrado"
End Sub
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