Gerar relatório com critérios em VBA

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA

Gerar relatório com critérios em VBA

Mensagempor Jheferson R » Ter Ago 07, 2012 10:47 am

Olá pessoal,

Estou tento dificuldades em gerar relatórios com critérios no Excel com VBA.

Fiz um formulário nas células para entrar com o nome do funcionário, a data inicial e a data final. Mas não sei como criar a macro que puxe os dados para o meu relatório, teria como criar isso em VBA?

Tenho uma planilha "Serviços" e na outra "Gerar relatórios", dai quando eu inserisse os dados no formulário com os critérios, a macro puxava os dados para o relatório, tentei fazer com macro mas não consegui.

Um membro daqui do fórum "Kedim43" sou amigo dele, ele até começou a criar a macro, e estava dando certo, dai que não consigo terminar ela. Tive que fazer outra planilha pois não sabia como continuar a macro que ele fez pra mim, estava meio sem tempo.

Quem puder me ajudar, agradeço!
Jheferson R
 
Mensagens: 8
Registrado em: Ter Ago 07, 2012 10:25 am
Agradecimentos dados: 1 vez
Agradecimentos recebidos: 0 vez

Re: Gerar relatório com critérios em VBA

Mensagempor webmaster » Qua Ago 08, 2012 4:30 pm

Jheferson,

Acredito que o mais importante seja definir o que você entende por "relatório". Uma lista organizada? Um gráfico? Vários gráficos? Algo para impressão? Tudo isso junto?

Também o que tem pronto até então.

Abraços
Tomás
http://www.tomasvasquez.com.br/blog
http://twitter.com/tomamais
Gostou da resposta? Clique no ícone Imagem da mensagem!
Se sua dúvida foi solucionada, acrescente [RESOLVIDO] ao título.
Avatar do usuário
webmaster
Administrador
 
Mensagens: 1722
Registrado em: Sex Jul 24, 2009 2:44 pm
Agradecimentos dados: 104 vezes
Agradecimentos recebidos: 77 vezes

Re: Gerar relatório com critérios em VBA

Mensagempor Jheferson R » Qui Ago 09, 2012 4:08 pm

Olá webmaster,

O relatório que tentei puxar com a macro foi de dados, os arquivos de origem ficam na planilha Serviços, puxar dados de acordo com critério de funcionário, data inicial e data final. Na planilha Gerar Relatórios fica o formulário para inserção dos critérios, quando pressionado o botão da macro automaticamente trazia os dados de acordo com o critério. Feito isso iria criar um botão para que eu pudesse imprimir todo o relatório até onde existisse dados no relatório. Com fórmula também não consegui, pois trabalha com muitos dados e eu usava uma planilha com tabela dinâmica, mas o resultado não era tão bom, por isso tentei fazer em macro.

Até agora, já tem quase tudo pronto, parei na parte onde não consegui criar uma macro para tal. É uma planilha que estou criando para que eu possa usar no meu trabalho do dia-a-dia. Estou adicionando a planilha em anexo para que possa visualizar melhor e entender o meu problema.

Obrigado pela atenção!
Anexos
Planilha Serviços.zip
Planilha Serviços
(136 KiB) Baixado 214 vezes
Jheferson R
 
Mensagens: 8
Registrado em: Ter Ago 07, 2012 10:25 am
Agradecimentos dados: 1 vez
Agradecimentos recebidos: 0 vez

Re: Gerar relatório com critérios em VBA

Mensagempor webmaster » Sex Ago 10, 2012 5:07 pm

Jheferson,

Já tentou definindo a área de impressão? Trabalhe junto com a seleção da área ocupada. Deve resolver seu problema.

Abraços
Tomás
http://www.tomasvasquez.com.br/blog
http://twitter.com/tomamais
Gostou da resposta? Clique no ícone Imagem da mensagem!
Se sua dúvida foi solucionada, acrescente [RESOLVIDO] ao título.
Avatar do usuário
webmaster
Administrador
 
Mensagens: 1722
Registrado em: Sex Jul 24, 2009 2:44 pm
Agradecimentos dados: 104 vezes
Agradecimentos recebidos: 77 vezes

Re: Gerar relatório com critérios em VBA

Mensagempor joseA » Sáb Ago 11, 2012 10:54 pm

Código: Selecionar todos
Sub Relatorio()
  Application.EnableEvents = False
       
        Dim lastRow As Long
        Dim lastResultRow As Long
        Dim X As Long
       
        ' Verifica qual a ultima célula preenchida
        lastRow = Plan2.Cells(Rows.Count, 2).End(xlUp).Row
       
        ' Apaga valores anteriores
        Plan3.Range("O22:S65536").ClearContents
       
        lastResultRow = 22 'linha resultado
       
        ' Ciclo em todas as linhas
        For X = 2 To lastRow '1 Linha dados pequisa
       
           ' verifica se o valor é igual ao da pesquisa
           If Plan2.Cells(X, 2).Value >= CDate(Plan3.Range("I7")) And Plan2.Cells(X, 2) <= CDate(Plan3.Range("I8")) And Plan2.Cells(X, 5) = Plan3.Range("I6").Value Then '1 coluna pequisa
           
                ' Copia os valores
                Plan3.Cells(lastResultRow, 14).Value = Plan2.Cells(X, 1).Value
                Plan3.Cells(lastResultRow, 15).Value = Plan2.Cells(X, 2).Value
                Plan3.Cells(lastResultRow, 16).Value = Plan2.Cells(X, 3).Value
                Plan3.Cells(lastResultRow, 17).Value = Plan2.Cells(X, 4).Value
                Plan3.Cells(lastResultRow, 18).Value = Plan2.Cells(X, 5).Value
                Plan3.Cells(lastResultRow, 19).Value = Plan2.Cells(X, 6).Value
                Plan3.Cells(lastResultRow, 20).Value = Plan2.Cells(X, 7).Value
                lastResultRow = lastResultRow + 1
           End If
        Next
       
    Application.EnableEvents = True

End Sub
Se o post lhe agradou clique no sinal de positivo (ao lado de citar).
Avatar do usuário
joseA
 
Mensagens: 849
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG
Agradecimentos dados: 26 vezes
Agradecimentos recebidos: 104 vezes

Re: Gerar relatório com critérios em VBA

Mensagempor joseA » Dom Ago 12, 2012 12:10 am

Em tempo...

Código: Selecionar todos
Sub AjustarPrintArea()
    Dim qt As Integer
   
    qt = Cells(Rows.Count, "O").End(xlUp).Row
    ActiveSheet.PageSetup.PrintArea = "$O$19:$S$" & qt
    ActiveWindow.SelectedSheets.PrintPreview
End Sub
Se o post lhe agradou clique no sinal de positivo (ao lado de citar).

O autor desta mensagem joseA foi agradecido por:
Jheferson R (Seg Ago 13, 2012 9:00 am)
Qualificação: 20%
 
Avatar do usuário
joseA
 
Mensagens: 849
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG
Agradecimentos dados: 26 vezes
Agradecimentos recebidos: 104 vezes

Re: Gerar relatório com critérios em VBA

Mensagempor Jheferson R » Seg Ago 13, 2012 8:59 am

Primeiramente desculpa pela demora em responder, a empresa de internet daqui de casa estava em manutenção e no meu trabalho não tive muito tempo.

Resposta a webmaster:

Bom dia webmaster, eu teria que trabalhar com a área de impressão logo após ter a macro que puxaria esses dados para outra planilha, obrigado pela dica e atenção!

Resposta a joseA:

Bom dia pra você também joseA, te agradeço muito pelo código VBA, é realmente o que eu precisava e já coloquei na planilha, deu tudo certo, a área de impressão também, agora posso usar de modelo para que eu aprenda o código que construiu, ficou tudo muito bom, valeu mesmo!

Sempre vou voltar aqui, pois acho o melhor fórum de Excel e VBA brasileiro, sem contar com a atenção que todos usuários dão aos principiantes. Já agradeci o post de vocês, mas não sei se posso mudar o título do tópico, por exemplo "resolvido por fulano de tal", acho que isso é com o moderador, Abraço galera!
Jheferson R
 
Mensagens: 8
Registrado em: Ter Ago 07, 2012 10:25 am
Agradecimentos dados: 1 vez
Agradecimentos recebidos: 0 vez

Re: Gerar relatório com critérios em VBA

Mensagempor Jheferson R » Seg Ago 13, 2012 9:03 am

Desculpe, mas tive que perguntar. Será que tem como construir um código VBA que faria com que todo o relatório que gerasse ficasse uma linha preto e branco?

Facilitaria na visualização dos dados. Abraço!
Jheferson R
 
Mensagens: 8
Registrado em: Ter Ago 07, 2012 10:25 am
Agradecimentos dados: 1 vez
Agradecimentos recebidos: 0 vez

Re: Gerar relatório com critérios em VBA

Mensagempor joseA » Seg Ago 13, 2012 9:42 am

Jheferson R escreveu:...com que todo o relatório que gerasse ficasse uma linha preto e branco? ...


Como assim?? :?
Se o post lhe agradou clique no sinal de positivo (ao lado de citar).
Avatar do usuário
joseA
 
Mensagens: 849
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG
Agradecimentos dados: 26 vezes
Agradecimentos recebidos: 104 vezes

Re: Gerar relatório com critérios em VBA

Mensagempor webmaster » Seg Ago 13, 2012 10:37 am

Jheffeson,

Você quer dizer zebrar as linhas? Dê uma olhada nisso:

http://tinyurl.com/8fbgfsc

Abraços
Tomás
http://www.tomasvasquez.com.br/blog
http://twitter.com/tomamais
Gostou da resposta? Clique no ícone Imagem da mensagem!
Se sua dúvida foi solucionada, acrescente [RESOLVIDO] ao título.
Avatar do usuário
webmaster
Administrador
 
Mensagens: 1722
Registrado em: Sex Jul 24, 2009 2:44 pm
Agradecimentos dados: 104 vezes
Agradecimentos recebidos: 77 vezes

Anúncios

Próximo

Voltar para VBA Básico

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitantes

cron