Ir ao conteúdo
  • Cadastre-se
xxmarcos2

Excel localizar um texto dentro de uma forma

Recommended Posts

Bom Dia, Sou novo por aqui..

 

alguem poderia me ajudar. Gostaria de saber se tem como localizar um texto ou numero dentro de uma forma.

por exemplo

inseri um quadrado e dentro dele coloquei o numero 10..   tem como um pesquisar e localizar ele  

Sub Forma()

 
    ActiveSheet.Shapes.Range(Array("30")).Select
End Sub

 

fiz essa seguinte macro.. mais ela só pesquisa Matriz. Gostaria que ela pesquisa-se o valor da Celula "A1"  

 

Estou criando uma planilha para controle de pneus. e achei interessante usar formas como "Pneus", assim fica mais fácil para eu movimentar os "Pneus" dentro da planilha.. mais tem um  Problema na hora de procurar tal pneu tenho que ficar procurando manualmente  se tiver alguma Macro que localiza Formas!! Por Exemplo um Quadrado

 

OBS: CADA "PNEU" TEM UMA NUMERAÇÃO.. então CADA QUADRADO TEM UM NUMERO . 

  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá xxmarcos2

 

Tente isto:

Option Explicit

 

Dim i As Integer

 

Dim bSearchShape As Boolean

 

Sub searchShape()
    
    bSearchShape = False
    
    For i = 1 To ActiveSheet.Shapes.Count
        
        ActiveSheet.Shapes(i).Select
        
        If Selection.ShapeRange.Name = ActiveSheet.Cells(1, 1).Value Then
            
            MsgBox "Localizado o " & ActiveSheet.Cells(1, 1).Value
            
            bSearchShape = True
            
            Exit For
            
        End If
    
    Next i
    
    If bSearchShape = False Then
    
        MsgBox "Não localizado o " & ActiveSheet.Cells(1, 1).Value
       
    End If
    
End Sub

 

consultado Ricardo Villafaña Figueroa no site https://sites.google.com/site/automatizacionexcel/macros-para-manejar-los-elementos-de-una-forma

 

Veja se é por aì...

 

Té +

Márcio

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui fazer aqui.. obrigado pela ajuda

 

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "A1" Then
For i = 1 To Plan1.Shapes.Count
If ActiveSheet.Shapes(i).TextFrame2.TextRange.Characters.Text = Plan1.Range("A1").Text Then

'__ENCONTRANDO ALTURA DO OBJETO E COMPARANDO COM A CÉLULA POSTERIOR MAIS PROXIMA...__________________________
For Each celula In Plan1.Range("A1:R10000")
If celula.Top > ActiveSheet.Shapes(i).Top And celula.Left > ActiveSheet.Shapes(i).Left Then
celula.Select
Exit For
End If
Next
'_________________________

ActiveSheet.Shapes(i).Select
Exit Sub
End If
Next i
MsgBox "Não Encontrado!", vbExclamation, "Sem Retorno"
End If
End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×