Macro para adicionar relatório diário - Dicas do Excel

Judith postou a pergunta sobre o Excel desta semana.

Preciso importar um arquivo diariamente. Eu gostaria de adicionar o arquivo todos os dias a uma pasta de trabalho do Excel existente e ter a planilha com o nome de d / m / y.

Um breve macro visual básico tornará isso uma tarefa simples. Um problema - o nome da guia de uma planilha não pode incluir uma barra. Portanto, a solução renomeará a planilha de cada dia para ter um nome como "03 de outubro de 1999".

A solução envolve adicionar uma planilha principal ao seu livro existente. Esta planilha, chamada "Menu" oferece uma interface de usuário simples para que você possa passar essa tarefa para outro membro da equipe, se necessário. A folha superior contém células onde o usuário pode especificar o nome do caminho e o nome do arquivo a ser importado. Se você estiver importando um arquivo criado por outro sistema, esses campos não serão alterados de um dia para o outro. A folha de menu também contém uma célula com a data atual formatada sem barras. Incluirei uma macro de abertura automática que preencherá automaticamente esta célula para o usuário, mas eles estão sempre livres para alterá-la antes de clicar no botão para importar o arquivo. Finalmente, a folha do Menu tem um grande botão no qual o usuário clica.Este botão invocará a macro para importar o arquivo nomeado no Menu para o livro atual com o nome da guia especificado.

Planilha de Menu

Abra uma nova pasta de trabalho com apenas uma única folha. Clique duas vezes na guia da planilha e digite um nome para a planilha chamado "Menu". Adicione um bom título na célula A1. Em Células C3: C5, adicione o texto conforme mostrado à esquerda. Na célula D3, insira o nome do caminho para o diretório onde o arquivo é encontrado todos os dias. Na célula D4, adicione o nome do arquivo. Deixe D5 em branco. É mais fácil configurar o botão depois que a macro é criada, então deixaremos isso para depois.

  • Inicie o Editor de Macro com alt = "" + F11
  • Escolha Inserir - Módulo
  • Copie o seguinte texto para o editor de macro
Sub Auto_Open() ' This macro will put today's date as the default new tab name Sheets("Menu").Select Range("D5").Select Selection.Formula = "=text(now(),""mmm dd yyyy"")" Selection.Copy Selection.PasteSpecial Paste:=xlValues Application.CutCopyMode = False Selection.Columns.AutoFit Range("D8").Value = "" End Sub Sub GetFile() ' This macro will import a file into this workbook ' Copyright 1999 www.MrExcel.com Sheets("Menu").Select PathName = Range("D3").Value Filename = Range("D4").Value TabName = Range("D5").Value ControlFile = ActiveWorkbook.Name Workbooks.Open Filename:=PathName & Filename ActiveSheet.Name = TabName Sheets(TabName).Copy After:=Workbooks(ControlFile).Sheets(1) Windows(Filename).Activate ActiveWorkbook.Close SaveChanges:=False Windows(ControlFile).Activate Sheets("Menu").Select Range("D8").Select ActiveCell.Value = "Completed" Range("D9").Select End Sub

Agora, volte ao Excel e adicione um botão à planilha Menu.

Como adicionar um botão a uma planilha

Adicionar botão
  • Mostre a barra de ferramentas de formulários selecionando Exibir - Barras de ferramentas - Formulários
  • Selecione a ferramenta Botão na barra de ferramentas
  • Mantenha pressionada a tecla alt = "", arraste do canto superior de B8 para a célula C9
  • Na caixa de diálogo Atribuir Macro, escolha nossa macro chamada GetFile e clique em OK
  • Enquanto o botão ainda está selecionado, você pode clicar e arrastar para selecionar o texto no botão. Substitua este texto por "Processo!" ou qualquer texto de sua escolha

Agora você tem o aplicativo completo. Salve o arquivo em um local conveniente. Depois de configurar seu arquivo com as informações corretas nas células D3: D4, o procedimento diário será o seguinte:

  • Abra o arquivo que acabamos de criar
  • Verifique se a data mostrada na célula D5 é apropriada.
  • Clique no botão grande.
  • Salve o arquivo

Aqui estão algumas maneiras de alterar a macro:

  • Se você quiser que a guia seja nomeada com a data do dia anterior, adicione um "-1" após "AGORA ()" na macro.
  • Se o arquivo a ser importado tiver várias folhas e a folha de destino não estiver na parte superior, adicione Folhas ("nome da folha"). Selecione após a linha Arquivo. Abrir acima.

Artigos interessantes...