Makro do dodania raportu dziennego - wskazówki dotyczące programu Excel

Judith opublikowała w tym tygodniu pytanie dotyczące programu Excel.

Muszę codziennie importować plik. Chciałbym codziennie dodawać plik do istniejącego skoroszytu programu Excel i mieć arkusz roboczy o nazwie odpowiadającej d / m / r.

Krótkie wizualne podstawowe makro uczyni to prostym zadaniem. Jeden problem - nazwa zakładki arkusza nie może zawierać ukośnika. Tak więc rozwiązanie zmieni nazwę arkusza każdego dnia na taką, jak „Oct 03 1999”.

Rozwiązanie polega na dodaniu górnego arkusza do istniejącej książki. Arkusz ten, zwany „Menu”, zapewnia prosty interfejs użytkownika, dzięki czemu w razie potrzeby można przekazać to zadanie innemu pracownikowi. Górny arkusz zawiera komórki, w których użytkownik może określić nazwę ścieżki i nazwę pliku do zaimportowania. Jeśli importujesz plik utworzony w innym systemie, te pola nie będą się zmieniać z dnia na dzień. Arkusz menu zawiera również komórkę z bieżącą datą sformatowaną bez ukośników. Dołączę automatycznie otwierane makro, które automatycznie wypełni tę komórkę dla użytkownika, ale zawsze mogą to zmienić przed kliknięciem przycisku importu pliku. Wreszcie arkusz menu ma duży przycisk, który użytkownik kliknie.Ten przycisk spowoduje wywołanie makra w celu zaimportowania pliku nazwanego w Menu do bieżącej książki z określoną nazwą karty.

Arkusz menu

Otwórz nowy skoroszyt z tylko jednym arkuszem. Kliknij dwukrotnie kartę arkusza i wpisz nazwę arkusza o nazwie „Menu”. Dodaj ładny tytuł w komórce A1. W komórkach C3: C5 dodaj tekst, jak pokazano po lewej stronie. W komórce D3 wprowadź ścieżkę do katalogu, w którym znajduje się plik każdego dnia. W komórce D4 dodaj nazwę pliku. Pozostaw D5 puste. Łatwiej jest ustawić przycisk po utworzeniu makra, więc zostawimy to na później.

  • Uruchom Edytor makr z alt = "" + F11
  • Wybierz Wstaw - Moduł
  • Skopiuj następujący tekst do edytora makr
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

Teraz wróć do programu Excel i dodaj przycisk do arkusza menu.

Jak dodać przycisk do arkusza

Dodaj przycisk
  • Pokaż pasek narzędzi Formularze, wybierając Widok - Paski narzędzi - Formularze
  • Wybierz narzędzie Przycisk z paska narzędzi
  • Przytrzymaj klawisz alt = "", przeciągnij z górnego rogu B8 do komórki C9
  • W oknie dialogowym Przypisz makro wybierz nasze makro o nazwie GetFile i kliknij OK
  • Gdy przycisk jest nadal zaznaczony, możesz kliknąć i przeciągnąć, aby zaznaczyć tekst na przycisku. Zamień ten tekst na „Przetwarzaj!” lub dowolny wybrany przez siebie tekst

Masz teraz kompletną aplikację. Zapisz plik w dogodnym miejscu. Po skonfigurowaniu pliku z prawidłowymi informacjami w komórkach D3: D4 codzienna procedura będzie wyglądać następująco:

  • Otwórz plik, który właśnie utworzyliśmy
  • Sprawdź, czy data wyświetlana w komórce D5 jest odpowiednia.
  • Kliknij duży przycisk.
  • Zapisz plik

Oto kilka sposobów zmiany makra:

  • Jeśli chcesz, aby nazwa zakładki zawierała datę z poprzedniego dnia, dodaj „-1” po „TERAZ ()” w makrze.
  • Jeśli importowany plik ma wiele arkuszy, a arkusz docelowy może nie znajdować się na wierzchu, dodaj Arkusze („nazwa arkusza”). Wybierz za wierszem Plik.Otwórz powyżej.

Interesujące artykuły...