Vídeo recomendado
https://youtu.be/diWPPPhW-9E

AJUDA! Gostaria de saber se existe esta Possibilidade no VBA

Ponto de encontro entre aqueles que precisam e fornecem soluções baseadas no Microsoft Excel e VBA. Precisa de uma solucão em VBA? É um consultor ou programador independente? Esse é o lugar!
lucas.caetano
Colaborador
Colaborador
Mensagens: 20
Registrado em: Seg Abr 09, 2012 4:06 pm

AJUDA! Gostaria de saber se existe esta Possibilidade no VBA

Mensagem por lucas.caetano »

Tenho a seguinte macro abaixo: Ela abre relatorios diarios chamados (Acio) depois a macro joga numa matriz para calculo. Gostaria da ajuda para criar um userform onde eu inserrise a data (marcada de vermelho no codigo abaixo) ,e ao inves de ter que entrar no VBA e mudar manualmente todos os dias, gostaria de saber se existe a possibilidade de criar um userform onde eu digitasse a Data respectiva e ele rodasse a macro abaixo,

Sub abre_acio_diario()
ChDir _
"G:\MSS_GR\Publica\Atividades em Desenvolvimento\Leandro\Monitoramento\Relatório Acio\2012-04\Diário"
Workbooks.Open Filename:= _
"G:\MSS_GR\Publica\Atividades em Desenvolvimento\Leandro\Monitoramento\Relatório Acio\2012-04\Diário\ACIO_08042012_08042012.xlsx"
Range("A2:AG2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("Matriz para indicadores Diários-Monitoramento.xlsm").Activate
Sheets("Dados do Acio").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Workbooks.Open Filename:= _
"G:\MSS_GR\Publica\Atividades em Desenvolvimento\Leandro\Monitoramento\Relatório Acio\2012-04\Diário\ACIO_08042012_08042012.xlsx"
ActiveWorkbook.Close

End Sub


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
LEANDRO ALVES
Manda bem
Manda bem
Mensagens: 161
Registrado em: Dom Jul 25, 2010 7:41 pm

Re: AJUDA! Gostaria de saber se existe esta Possibilidade no

Mensagem por LEANDRO ALVES »

Olá Lucas,

Veja se ajuda. Agora é só adaptar para a sua planilha.

Abraços
Anexos
Pasta1.rar
Teste
(13.33 KiB) Baixado 413 vezes


lucas.caetano
Colaborador
Colaborador
Mensagens: 20
Registrado em: Seg Abr 09, 2012 4:06 pm

Re: AJUDA! Gostaria de saber se existe esta Possibilidade no

Mensagem por lucas.caetano »

Obrigado Leandro,

Então, ainda não consegui, pq sua macro abre um textbox, queria, apos digitar a data abrir a planilha.
tenho dentro desta pasta do mês, 31 arquivos. Ref. a cada dia.
G:\MSS_GR\Publica\Atividades em Desenvolvimento\Leandro\Monitoramento\Relatório Acio\2012-04\ACIO_01042012_01042012.xlsx

Gostaria que ao digitar a data abrisse a planilha, tentei da seguinte forma e deu msg que nao foi encontrada:

Private Sub CommandButton1_Click()

If Not IsDate(Me.TextBox1) = True Then
MsgBox "Data inválida"
Exit Sub
End If

chdir _
"G:\MSS_GR\Publica\Atividades em Desenvolvimento\Leandro\Monitoramento\Relatório Acio\2012-04\Diário"
Workbooks.Open Filename:= _
"G:\MSS_GR\Publica\Atividades em Desenvolvimento\Leandro\Monitoramento\Relatório Acio\2012-04\Diário\ACIO_" & Format(Me.TextBox1.Text, "ddmmyyyy") & "_" & Format(Me.TextBox1.Text, "ddmmyyyy") & "_" & ".xlsx"

Valew obrigado pelas dicas!!!


Avatar do usuário
LEANDRO ALVES
Manda bem
Manda bem
Mensagens: 161
Registrado em: Dom Jul 25, 2010 7:41 pm

Re: AJUDA! Gostaria de saber se existe esta Possibilidade no

Mensagem por LEANDRO ALVES »

Olá Lucas,

Teria como disponibilizar a planilha para trabalharmos diretamente nela?
Trabalhar com suposições é mais complicado e dificilmente chegaremos a uma solução.

Abraços


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


lucas.caetano
Colaborador
Colaborador
Mensagens: 20
Registrado em: Seg Abr 09, 2012 4:06 pm

Re: AJUDA! Gostaria de saber se existe esta Possibilidade no

Mensagem por lucas.caetano »

Então, segue anexo a planilha, senha do VBA uma breve explicação:

A planilha se Trata de Indicadores de monitoramento de alarmes
Extraio um relatório do sistema diariamente, chamado ACIO_DATA coloco num caminho especifico.
A macro se inicia, no modulo 8, onde abro manualmente e altero a data do relatorio manualmente.
para posteriormente rodar a macro, dando 2 cliques na Aba "menu" abre o form com as opções.

A macro funciona perfeitamente minha unica vontade mesmo era automatizar a Data no modulo8
ao inves de entrar e mudar manualmente todo dia, gostaria que ficasse como a plan que vc me enviou.
porem, ao inves de abrir o text box apos digitar a data, abrisse o relatório do acio_data.


Muito obrigado pela ajuda e dicas!!!

Lucas Lorenti
Anexos
04 - Abril 2012 - Indicadores DiáriosTESTE.rar
Indicadores
(1.38 MiB) Baixado 415 vezes
Editado pela última vez por lucas.caetano em Sex Jul 13, 2012 11:36 am, em um total de 1 vez.


Avatar do usuário
LEANDRO ALVES
Manda bem
Manda bem
Mensagens: 161
Registrado em: Dom Jul 25, 2010 7:41 pm

Re: AJUDA! Gostaria de saber se existe esta Possibilidade no

Mensagem por LEANDRO ALVES »

Bom Dia Lucas

Eu acho que entendi sua dúvida. Achei bem legal o seu projeto, mas faltou a senha para desprotegê-lo.
Acho que não vai ser difícil, mas bloqueado não dá pra fazer muito. :shock:

Abraços


lucas.caetano
Colaborador
Colaborador
Mensagens: 20
Registrado em: Seg Abr 09, 2012 4:06 pm

Re: AJUDA! Gostaria de saber se existe esta Possibilidade no

Mensagem por lucas.caetano »

Então, desculpe, a senha é mesma senha para abrir o VBA -
Entra no VBA: "esta pasta de trabalho"
Coloque seu nome de usuário na macro e também em Opções do Excel.
Esta com a macro que desbloqueia automático todas as abas

Segue anexo um dos relatórios Ácio para vc rodar ela se quiser.


Valew obrigado pela ajuda.

Lucas Lorenti
Anexos
ACIO_COMPL_19042012_19042012.rar
(163.32 KiB) Baixado 419 vezes
ACIO_19042012_19042012.rar
(416.71 KiB) Baixado 435 vezes
Editado pela última vez por lucas.caetano em Sex Jul 13, 2012 11:37 am, em um total de 1 vez.


Avatar do usuário
LEANDRO ALVES
Manda bem
Manda bem
Mensagens: 161
Registrado em: Dom Jul 25, 2010 7:41 pm

Re: AJUDA! Gostaria de saber se existe esta Possibilidade no

Mensagem por LEANDRO ALVES »

Bom dia Lucas

Desculpe a demora, mas é que tive uns contratempos neste fim de semana.
Eu não compreendi bem o seu projeto, mas talvez a solução da sua dúvida seja esta:

Módulo 08
Troque esta linha:

Código: Selecionar todos

"G:\MSS_GR\Publica\Atividades em Desenvolvimento\Leandro\Monitoramento\Relatório Acio\2012-04\Diário\ACIO_09042012_09042012.xlsx"
Por essa:

Código: Selecionar todos

"G:\MSS_GR\Publica\Atividades em Desenvolvimento\Leandro\Monitoramento\Relatório Acio\2012-04\Diário\ACIO_" & format(date,"ddmmyyyy") & "_" & format(date,"ddmmyyyy") & ".xlsx"
Perceba que na primeira você está mencionando uma data específica, ou seja, 09042012. Na segunda o código está lidando com a data atual do seu computador na expressão: format(date, "ddmmyyyy"). A diferença está somente no final das linhas de código. Logo, é só você adaptar nos outros locais que tenha esta mesma necessidade.

Qualquer coisa posta aí que a gente tenta ajudar. Se eu não souber pedimos ajuda aos universitários. :lol:

Um abraço


lucas.caetano
Colaborador
Colaborador
Mensagens: 20
Registrado em: Seg Abr 09, 2012 4:06 pm

Re: AJUDA! Gostaria de saber se existe esta Possibilidade no

Mensagem por lucas.caetano »

Bom Dia!!!!

Desculpe a demora na resposta é que a gripe me pegou de jeito essa semana!!!!
Então, mudei todos os lugares que tinham data com o Cod que vc mandou Funcionou perfeito
Apenas altero a data no Windows, pois trabalho como indicadores do dia anterior.


Muito Obrigado, ficou Perfeito!!!


Avatar do usuário
LEANDRO ALVES
Manda bem
Manda bem
Mensagens: 161
Registrado em: Dom Jul 25, 2010 7:41 pm

Re: AJUDA! Gostaria de saber se existe esta Possibilidade no

Mensagem por LEANDRO ALVES »

Lucas

Eu diria que ficou quase perfeito porque você ainda tem que mudar a data no windows.
você pode fazer o seguite para automatizar sua macro por completo conforme sua necessidade:

Código: Selecionar todos

Dim data As Date
   data = DateDiff("d", 1, Date) 'Pega a data atual do windows e subtrai um dia
    
   G:\MSS_GR\Publica\Atividades em Desenvolvimento\Leandro\Monitoramento\Relatório Acio\2012-04\Diário\ACIO_" & Format(data, "ddmmyyyy") & "_" & Format(data, "ddmmyyyy") & ".xlsx"
Definimos uma variável do tipo data e atribuímos a ela a data do sistema menos um dia. Observe que onde estava escrito "date" agora está escrito data. É só adaptar.

Abraços


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder