Notifications
Clear all

Quantidade de informações encontradas.

12 Posts
3 Usuários
0 Reactions
1,977 Visualizações
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Bom dia prezados colegas.

Tenho uma dúvida e necessito da ajuda do pessoal do fórum.
Tenho esta rotina

Sub Buscar()
'
Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
 
Range("L1").Select
    Columns("A:K").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
        "N4:X5"), CopyToRange:=Range("N16:X16"), Unique:=True
        Response = MsgBox(" PRESS  'YES'  TO  PRINT  OR  PRESS  'NO'  TO  EXIT ", vbYesNo)
If Response = vbNo Then Exit Sub
If Response = vbYes Then Range("L1").Select
    Range("N3:V69").Select
    ActiveWindow.View = xlPageBreakPreview
    ActiveWindow.View = xlNormalView
    Range("N3:V69").Select
    Zoom = 74
    Selection.PrintOut Copies:=1, Preview:=False, Collate:=True
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
 
     MsgBox "PARABÉNS! BUSCA CONCLUÍDA!                                                              **ANEXAR A PÁGINA DE EVIDÊNCIA PARA VERIFICAÇÃO**"
                          
End Sub
 

Gostaria de saber se é possivel depois que aparecer a mensagem do MsgBox aparecer quantidade de informações que foram transportadas(encontradas) para a célula "N16:X16"

Desde já agradeço a costumeira compreensão e colaboração de todos.

Abraços

Fabiosp

 
Postado : 09/08/2013 4:47 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Lembre se de usar a pesquisa do fórum!!

Tente concatenar
Ex:

MsgBox "Sua Mensagem = " & ActiveSheet.Cell

Ex2:

MsgBox (c.Offset(0, -3) & "   " & c.Offset(0, -2)) 

Etc....

Att

 
Postado : 09/08/2013 7:49 am
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Boa tarde alexandrevba,

Obrigado pela resposta.
Desculpe pelos transtornos.
Antes de criar o tópico deu uma olhada no base mas não achei nada a respeito.
Pode ter sido a forma que efetuei a busca.
Inclusive achei muito legal o tópico onde ensina como fazer as buscas no banco de dados.
Para iniciantes igual eu isso é muito útil.
Fico feliz em fazer parte deste fórum.

Testei esse código que você ensinou mas não deu certo.
Tipo se possível sair a caixa com minha mensagem e depois outro box com a quantidade de informações encontradas ou se for possível tudo junto na mesma caixa.

Desde já agradeço a ajuda,

Abraços.

 
Postado : 09/08/2013 9:36 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!!

Eu ainda estou sem o excel, mas poste seu arquivo modelo compactado.

Att

 
Postado : 10/08/2013 4:33 pm
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Boa Noite

Muito obrigado pela resposta.
Segue anexo planilha compactada.

Obrigado!

Abraços.

 
Postado : 10/08/2013 6:34 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Eu não sei se entendi, veja..

    Sub Buscar()
    '
    Application.ScreenUpdating = False
        Application.Calculation = xlCalculationManual

    Range("L1").Select
        Columns("A:K").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
            "N5:X6"), CopyToRange:=Range("N16:X16"), Unique:=True
            Response = MsgBox(" PRESSIONE  'SIM' PARA IMPRIMIR   OU  PRESSIONE  'NAO'  PARA APENAS CONSULTAR INFORMACOES ", vbYesNo)
    If Response = vbNo Then Exit Sub
    If Response = vbYes Then Range("L1").Select
        Range("N3:V69").Select
        ActiveWindow.View = xlPageBreakPreview
        ActiveWindow.View = xlNormalView
        Range("N3:V69").Select
        Zoom = 74
        Selection.PrintOut Copies:=1, Preview:=False, Collate:=True
        Application.Calculation = xlCalculationAutomatic
        Application.ScreenUpdating = True
       MsgBox "PARABENS! BUSCA CONCLUIDA!ANEXAR A PAGINA DE EVIDENCIA PARA VERIFICACAO DOS DADOS**"
       MsgBox WorksheetFunction.CountA(Range("N16:N10000")) '<--Veja
    End Sub
 
Postado : 10/08/2013 6:51 pm
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Boa noite alexandrevba.

Isso mesmo que queria, porém gostaria de incluir uma frase tipo "foram encontradas 17 registros"
Seria possível?

Muito obrigado!

Abraço.

 
Postado : 10/08/2013 7:18 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Tente muda essa linha

 MsgBox WorksheetFunction.CountA(Range("N16:N10000")) '<--Veja

...Para...

MsgBox "Foram  encontrados" & " " & WorksheetFunction.CountA(Range("N16:N10000")) & " registro (s)" '<--Veja
 
Postado : 10/08/2013 7:48 pm
(@adolfolima)
Posts: 27
Eminent Member
 

Olá Fabiosp,
A função que o alexandrevba colocou na penúltima linha da rotina já te dá a informação da quantidade, como vc percebeu. Quanto ao texto antes e depois que vc deseja anexar é mais simples: Vc só precisa juntar a função já utilizada com o texto que vc deseja, usando o operando '&' (e comercial) assim: (Isto e chamado de Concatenar)

MsgBox "Sua pesquisa retornou " & WorksheetFunction.CountA(Range("N16:N10000")) & " resultados "

Também poderia ser assim:

Quantidade =  WorksheetFunction.CountA(Range("N16:N10000")) 
MsgBox "Foram encontradas " & Quantidade & " resultados "

Lembre-se que tudo que for concatenado (juntado) e for texto deverá está entre aspas ("meu texto")
Analise cada parte da rotina; Isto te ajudará a desvendar mistérios futuros.

 
Postado : 10/08/2013 7:50 pm
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Boa noite AdolfoLima

Tudo bem?
Muito obrigado pela força colega.
Nossa estava quebrando a cabeça aqui...sabia que não era tão compliacado assim mas não sabia como fazer.
Não sei como agradecer a sua gentileza.
Sem querer abusar da sua boa vontade e generosidade mais uma pergunta, caso for usar esse critério para aparecer uma informação de uma célula específica ficaria como ( ex:WorksheetFunction.CountA(Range("N16") na célula "N16" tenho a informação "sim").
Eu teria que substituir CountA(Range por qual comando??

Abraços.

 
Postado : 10/08/2013 8:19 pm
(@adolfolima)
Posts: 27
Eminent Member
 

Só pra mostrar o valor da célula na caixa de mensagem, ficaria assim:

Sub MostrarValor()
MsgBox Plan1.Range("N16").Value
End Sub

O resultado seria:

Sufixo

Se os valores da N16 e N17 ficaria assim

Sub MostrarValor2()
MsgBox "Na coluna " & Plan1.Range("N16").Value & " tem o valor " & Plan1.Range("N17").Value
End Sub

O resultado seria:

Na coluna Sufixo tem o valor 021

 
Postado : 10/08/2013 8:34 pm
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Boa Noite AdolfoLima

Agora esta tudo esclarecido.
Desculpe por mandar as coisas em partes, e que conforme você vai mexendo vai aparecendo novas idéias.
Graças a suas dicas estou começando a pegar o jeito das coisas.rs
Não existe palavras para expressar minha gratidão caro colega.
Conforme você aconselhou estou analizando cada linha da rotina, apesar de você ter esclarecido minha dúvida quero aprender como funciona o processo
pois não tem coisa melhor do que saber que você esta fazendo e não apenas fazer por fazer...

Agradeço também ao colega alexandrevba pelas dicas.

Boa noite a todos.

Abraços.

 
Postado : 10/08/2013 9:27 pm