Ir ao conteúdo

Excel Macro para abrir outra planilha com nome mutável


Ir à solução Resolvido por Visitante,

Posts recomendados

Postado

Gostaria de uma macro que abrisse uma nova planilha, sendo que esta planilha é salva diariamente em um outro diretório com o nome Voos_DD_MM_AAAA.xlxs, sendo que o DD_MM_AAAA representa a data do dia, que muda a cada dia.

Exemplo: Estou com a planilha Relatório de Demanda aberta e quero uma macro dentro desta planilha que abra a planilha Voos_24_11_2019.xlsx, para que dentro dessa planilha eu faça cópia de uma aba para a planilha Relatório de Demanda. No dia seguinte, o processo se repete, sendo que a planilha a ser aberta agora é Voos_25_11_2019.xlsx.

Muito grato pela atenção e aguardo um parecer. 

Um forte abraço,

Sergio Marchiori

Postado

Ok. Este código vai abrir os arquivos, mas o que eu preciso é de uma macro que abra diretamente a planilha Voos_DD_MM_AAAA.xlxs. Planilha essa que a cada dia será uma nova data. Eu fiz a seguinte Sub:

 

Windows("Relatorio de Demanda.xlsm").Activate
    Sheets("Voos").Select
    Range("A10").Select
    Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
    Selection.ClearContents
    Windows("Voos_27_10_2019.xlsx").Activate (ESTA LINHA É QUE DEVE TER UMA VARIÁVEL PARA MUDAR A DATA DIARIAMENTE)
    Range("A10").Select
    Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
    Selection.Copy
    Windows("Relatorio de Demanda.xlsm").Activate
    Sheets("Voos").Select
    Range("A10").Select
    ActiveSheet.Paste
    Windows("Voos_27_10_2019.xlsx").Activate (AQUI TAMBÉM A MESMA VARIÁVEL)
    Application.CutCopyMode = False
    ActiveWindow.Close
    Sheets("Planilha1").Select
    Range("C4").Select

 

Não sei se fui claro, mas é que dependo da ajuda de vocês para apresentar este trabalho para a minha chefia.

Agradeço à todos que puderem me ajudar.

  • Solução
Postado

 

Experimente:

 

Sub AbreArqCopiaColaFecha()
 Dim wsD As Worksheet, arq As String
  Set wsD = ActiveSheet
  Application.ScreenUpdating = False
  If [A10] <> "" Then Range("A10:M" & Cells(Rows.Count, 1).End(3).Row).Value = ""
  arq = "Voos_" & Format(Date, "dd_mm_yyyy") & ".xlsx"
  Workbooks.Open ("C:\MinhaPasta\" & arq)
  Range("A10:M" & Cells(Rows.Count, 1).End(3).Row).Copy wsD.[A10]
  ActiveWorkbook.Close
  Application.ScreenUpdating = True
End Sub

obs.

1. conforme documentação da MS, Relatório de Demanda e Voos_DD_MM_AAAA são arquivos e não planilhas

2. considerei que as colunas A:M é que serão copiadas (altere se necessário)

3. ao rodar o código a planilha Voos do arquivo Relatorio de Demanda deverá ser a planilha ativa

4. substitua no código o nome MinhaPasta pelo nome da pasta em que está o arquivo Voos_DD_MM_AAAA

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!