Macro om dagelijks rapport toe te voegen - Excel-tips

Judith plaatste de Excel-vraag van deze week.

Ik moet dagelijks een bestand importeren. Ik wil het bestand elke dag toevoegen aan een bestaande Excel-werkmap en het werkblad de naam geven van de d / m / y.

Een korte visuele basismacro maakt dit een eenvoudige taak. Een probleem: de tabbladnaam van een blad mag geen schuine streep bevatten. De oplossing zal dus het blad van elke dag hernoemen naar een naam als "Oct 03 1999".

De oplossing omvat het toevoegen van een werkblad bovenaan aan uw bestaande boek. Dit blad, genaamd "Menu", biedt een eenvoudige gebruikersinterface zodat u deze taak, indien nodig, aan een ander personeelslid kunt overdragen. Het bovenste blad bevat cellen waarin de gebruiker de padnaam en de bestandsnaam van het te importeren bestand kan specificeren. Als u een bestand importeert dat door een ander systeem is gemaakt, zullen deze velden niet van dag tot dag veranderen. Het menublad bevat ook een cel met de huidige datum opgemaakt zonder schuine strepen. Ik zal een automatisch geopende macro toevoegen die deze cel automatisch voor de gebruiker zal invullen, maar ze zijn altijd vrij om deze te wijzigen voordat ze op de knop klikken om het bestand te importeren. Ten slotte heeft het menublad een grote knop waarop de gebruiker zal klikken.Deze knop roept de macro op om het bestand met de naam in het menu te importeren in het huidige boek met de opgegeven tabbladnaam.

Menu werkblad

Open een nieuwe werkmap met slechts één blad. Dubbelklik op de bladtab en typ een naam voor het blad met de naam "Menu". Voeg een mooie titel toe in cel A1. Voeg in Cellen C3: C5 de tekst toe zoals links wordt weergegeven. Voer in Cel D3 de padnaam in voor de directory waarin het bestand elke dag wordt gevonden. Voeg in cel D4 de naam van het bestand toe. Laat D5 leeg. Het is gemakkelijker om de knop in te stellen zodra de macro is gemaakt, dus we laten dat voor later staan.

  • Start de macro-editor met alt = "" + F11
  • Kies Invoegen - Module
  • Kopieer de volgende tekst naar de macro-editor
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

Ga nu terug naar Excel en voeg een knop toe aan het menublad.

Hoe u een knop aan een werkblad kunt toevoegen

Knop Toevoegen
  • Geef de Formulierenwerkbalk weer door Beeld - Werkbalken - Formulieren te selecteren
  • Selecteer het knopgereedschap op de werkbalk
  • Houd de alt = "" -toets ingedrukt, sleep van de bovenhoek van B8 naar cel C9
  • Kies in het dialoogvenster Macro toewijzen onze macro met de naam GetFile en klik op OK
  • Terwijl de knop nog is geselecteerd, kunt u klikken en slepen om de tekst op de knop te selecteren. Vervang deze tekst door "Proces!" of een tekst naar keuze

Je hebt nu de volledige applicatie. Sla het bestand op een handige plaats op. Zodra u uw bestand met de juiste informatie in de cellen D3: D4 heeft ingesteld, verloopt de dagelijkse procedure als volgt:

  • Open het bestand dat we zojuist hebben gemaakt
  • Controleer of de datum in cel D5 correct is.
  • Klik op de grote knop.
  • Het bestand opslaan

Hier zijn enkele manieren waarop u de macro kunt wijzigen:

  • Als u wilt dat het tabblad een naam krijgt met de datum van de vorige dag, voegt u een "-1" toe na "NU ()" in de macro.
  • Als het te importeren bestand meerdere bladen heeft en het doelblad staat misschien niet bovenaan, voeg dan Bladen toe ("bladnaam"). Selecteer na de regel File.Open hierboven.

Interessante artikelen...