Notifications
Clear all

Inputbox com msgbox

7 Posts
3 Usuários
0 Reactions
1,380 Visualizações
(@edilsonjc)
Posts: 39
Eminent Member
Topic starter
 

Pessoal estou tentando inserir um msgbox quando não for encontrado "nada" na pesquisa porém estou apanhando um pouco. Vi alguns exemplos aqui no forum mas o código abaixo está quase perfeito precisando apenas incluir o comando citado acima.

segue código:

Sub Procura()
    Dim procurado As String
    Dim result As VbMsgBoxResult
    Dim i, QuantPlanilhas As Integer
    
    QuantPlanilhas = ThisWorkbook.Worksheets.Count
     
    procurado = InputBox("Digite o valor a ser procurado", "Pesquisa valor", "Exemplo:  1, 2, texto")
    
    For i = 1 To QuantPlanilhas Step 1
        
       With Worksheets(i).Range("A:IV")
           
            Set c = .Find(procurado, LookIn:=xlValues)
            
            If Not c Is Nothing Then
                  Worksheets(i).Select
                Range(c.Address).Select
                result = MsgBox("Deseja continuar a busca?", vbYesNo, "Continuar?")
               
                If result = vbNo Then
                    Exit Sub
                End If
            End If
        End With
    Next
End Sub
 
Postado : 27/05/2014 11:26 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Não testado!

Sub Procura()
    Dim procurado As String
    Dim result As VbMsgBoxResult
    Dim i, QuantPlanilhas As Integer
    
    QuantPlanilhas = ThisWorkbook.Worksheets.Count
     
    procurado = InputBox("Digite o valor a ser procurado", "Pesquisa valor", "Exemplo:  1, 2, texto")
    
    For i = 1 To QuantPlanilhas Step 1
        
       With Worksheets(i).Range("A:IV")
           
            Set c = .Find(procurado, LookIn:=xlValues)
            
            If Not c Is Nothing Then
                Worksheets(i).Select
                Range(c.Address).Select
                result = MsgBox("Deseja continuar a busca?", vbYesNo, "Continuar?")
               
                If result = vbNo Then
                    Exit Sub
                End If
                Else
                MsgBox "Não encontrado!"
            End If
        End With
    Next
End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 28/05/2014 5:13 am
(@edilsonjc)
Posts: 39
Eminent Member
Topic starter
 

Infelizmente não funcionou. Ele retorna sempre "Não encontrado", mesmo havendo o valor na planilha.

 
Postado : 28/05/2014 5:33 am
(@markos)
Posts: 15
Active Member
 

Bom dia, tem como anexar tua planilha ?

at

 
Postado : 28/05/2014 5:38 am
(@markos)
Posts: 15
Active Member
 

Tenta trocar essa linha

Set c = .Find(procurado, LookIn:=xlValues) POR ESSA >>> Set c = .Find(procurado, lookat:=xlWhole), existe uma falha no código

na linha >>> Range(c.Address).Select <<< precisa do . pra referencia o with <<< .Range(c.Address).Select >>>

ATT

 
Postado : 28/05/2014 5:42 am
(@edilsonjc)
Posts: 39
Eminent Member
Topic starter
 

Depois de tanto quebrar a cabeça, finalmente consegui.
Valeu alexandrevba pela ajuda.

Procura()
    Dim procurado As String
    Dim result As VbMsgBoxResult
    Dim i, QuantPlanilhas As Integer
    
    QuantPlanilhas = ThisWorkbook.Worksheets.Count
     
    procurado = InputBox("Digite o valor a ser procurado", "Pesquisa valor", "Exemplo:  1, 2, texto")
    
    For i = 1 To QuantPlanilhas Step 1
        
       With Worksheets(i).Range("A:IV")
           
            Set c = .Find(procurado, LookIn:=xlValues)
          'ALTERAÇÃO  
        ''''''''''''''''''''''''
	If c Is Nothing Then 'caso não encontrar o codigo
                If i = QuantPlanilhas Then
                  
                    MsgBox "O conteúdo " & codigo & " não foi encontrado em nenhuma planilha. "
                End If
            Else 'caso o codigo procurado tenha sido encontrado
            Worksheets(i).Select
                Range(c.Address).Select
                                
                If MsgBox("Deseja continuar?", vbYesNo) = vbNo Then End
                
            End If

	    ''''''''''''''''''''''''''''
	'REMOVIDO
            'If Not c Is Nothing Then
                  'Worksheets(i).Select
                'Range(c.Address).Select
                'result = MsgBox("Deseja continuar a busca?", vbYesNo, "Continuar?")
               
                'If result = vbNo Then
                    'Exit Sub
                'End If
            'End If
	''''''''''''''''''''''''''''
        End With
    Next
End Sub

:)

 
Postado : 28/05/2014 5:58 am
(@edilsonjc)
Posts: 39
Eminent Member
Topic starter
 

Tenta trocar essa linha

Set c = .Find(procurado, LookIn:=xlValues) POR ESSA >>> Set c = .Find(procurado, lookat:=xlWhole), existe uma falha no código

na linha >>> Range(c.Address).Select <<< precisa do . pra referencia o with <<< .Range(c.Address).Select >>>

ATT

Markos, desculpe na ansiedade não vi sua reposta e acabei postando direto. Mais valeu por sua ajuda. Vou alterar e os códigos e ver se também funciona aqui.

abraço.
:oops:

 
Postado : 28/05/2014 6:02 am