Macro pentru a adăuga raport zilnic - Sfaturi Excel

Judith a postat săptămâna aceasta întrebarea Excel.

Trebuie să import zilnic un fișier. Aș dori să adaug fișierul în fiecare zi într-un registru de lucru Excel existent și să numesc foaia de lucru pentru d / m / y.

O macrocomandă de bază vizuală scurtă va face din aceasta o sarcină simplă. O problemă - numele filei unei foi nu poate include o bară. Deci, soluția va redenumi fișa fiecărei zile pentru a avea un nume ca „03 octombrie 1999”.

Soluția implică adăugarea unei foi de lucru de top la cartea dvs. existentă. Această foaie, numită „Meniu”, oferă o interfață simplă pentru utilizator, astfel încât să puteți transmite această sarcină unui alt membru al personalului, dacă este necesar. Foaia de sus conține celule în care utilizatorul poate specifica numele căii și numele fișierului fișierului de importat. Dacă importați un fișier creat de un alt sistem, atunci aceste câmpuri nu se vor schimba de la o zi la alta. Foaia de meniu conține, de asemenea, o celulă cu data curentă formatată fără bare oblice. Voi include o macro care se deschide automat, care va completa automat această celulă pentru utilizator, dar ei sunt întotdeauna liberi să o modifice înainte de a face clic pe butonul pentru a importa fișierul. În cele din urmă, foaia de meniu are un buton mare pe care utilizatorul va face clic.Acest buton va invoca macrocomanda pentru a importa fișierul numit în meniu în cartea curentă cu numele filei specificat.

Foaie de lucru meniu

Deschideți un nou registru de lucru cu o singură foaie. Faceți dublu clic pe fila foaie și tastați un nume pentru foaia numită „Meniu”. Adăugați un titlu frumos în celula A1. În celulele C3: C5, adăugați textul așa cum se arată în stânga. În celula D3, introduceți calea pentru directorul în care fișierul este găsit în fiecare zi. În celula D4, adăugați numele fișierului. Lăsați D5 necompletat. Este mai ușor să configurați butonul după crearea macro-ului, așa că îl vom lăsa mai târziu.

  • Porniți Editorul de macrocomenzi cu alt = "" + F11
  • Alege Insert - Module
  • Copiați următorul text în editorul de macrocomenzi
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

Acum, reveniți la Excel și adăugați un buton la foaia de meniu.

Cum se adaugă un buton la o foaie de lucru

Adaugă buton
  • Afișați bara de instrumente Formulare selectând Vizualizare - Bare de instrumente - Formulare
  • Selectați instrumentul Buton din bara de instrumente
  • Țineți apăsată tasta alt = "", trageți din colțul de sus al B8 în celula C9
  • Din dialogul Alocare macrocomandă, alegeți macrocomanda noastră numită GetFile și faceți clic pe OK
  • În timp ce butonul este încă selectat, puteți face clic și trage pentru a selecta textul de pe buton. Înlocuiți acest text cu „Procesați!” sau orice text la alegere

Acum aveți aplicația completă. Salvați fișierul într-un loc convenabil. Odată ce ați configurat fișierul cu informațiile corecte în celulele D3: D4, procedura zilnică va fi după cum urmează:

  • Deschideți fișierul pe care tocmai l-am creat
  • Verificați dacă data afișată în celula D5 este adecvată.
  • Faceți clic pe butonul mare.
  • Salvați fișierul

Iată câteva modalități prin care puteți schimba macro-ul:

  • Dacă doriți ca fila să fie denumită cu data din ziua anterioară, adăugați un „-1” după „ACUM ()” în macro.
  • Dacă fișierul de importat are mai multe foi și este posibil ca foaia țintă să nu fie deasupra, atunci adăugați Foi de calcul („nume de foaie”). Selectați după linia Fișier.Deschideți deasupra.

Articole interesante...