Jak zrobić kalendarz w Excelu. OneHowTo.com wyjaśnia to krok po kroku:
Jeśli potrzebujesz sposobu, aby mieć każdy dzień miesiąca i roku na wyciągnięcie ręki, skorzystanie z aplikacji firmy Microsoft może być wykonalne. W ten sposób, oprócz możliwości sprawdzenia bezpośrednio z ekranu komputera, można wykonać wydruk dla tych, którzy wolą mieć wszystko na papierze. Zapoznaj się z tym przewodnikiem, jak utworzyć kalendarz w programie Excel.
Wskaźnik
Aktywuj opcję „Programista”.
Zanim zaczniesz kierować, ważne jest, aby wiedzieć, czy opcja „Programista” jest widoczna w aplikacji. Jeśli nie, musisz go aktywować. Aby to zrobić, wykonaj poniższe czynności:
- Otwórz opcję Plik;
- Wybierz opcję „Więcej”, a następnie „Opcje”;
- W menu, które zostanie otwarte, kliknij „Dostosuj zakres opcji”;
- W menu „Zakładki główne” znajdź opcję „Programista” i aktywuj ją;
- Naciśnij "OK", aby zakończyć. Teraz możesz zrobić kalendarz w Excelu.
Krok po kroku
Skopiuj i wklej skrypt z kroku 4
Sub CalendarMaker() ' Usuń ochronę arkusza, jeśli miał poprzedni kalendarz, aby zapobiec błędom. ActiveSheet.Protect DrawingObjects:=False, Contents:=False, _ Scenarios:=False ' Zapobieganie miganiu ekranu podczas rysowania kalendarza. Application.ScreenUpdating = False ' Ustaw wychwytywanie błędów. W przypadku błędu Przejdź do MyErrorTrap ' Wyczyść obszar a1:g14, w tym wszystkie poprzednie kalendarze. Range("a1:g14").Clear ' Użyj InputBox, aby uzyskać żądany miesiąc i rok i ustaw zmienną ' MyInput. MyInput = InputBox("Wpisz miesiąc i rok dla Kalendarza ") ' Zezwól użytkownikowi na zakończenie makra za pomocą Anuluj w InputBox. If MyInput = "" Then Exit Sub ' Uzyskaj wartość daty początku wprowadzonego miesiąca. StartDay = DateValue(MyInput) „Sprawdź, czy data jest poprawna, ale nie pierwszy dzień miesiąca” — jeśli tak, zresetuj StartDay do pierwszego dnia miesiąca. If Day(StartDay) <> 1 Then StartDay = DateValue(Miesiąc(StartDay) & "/1/" & _ Year(StartDay)) End If ' Przygotuj komórkę na Miesiąc i Rok zgodnie z pełnym opisem. Range("a1").NumberFormat = "mmmm yyyy" ' Wyśrodkuj etykietę miesiąca i roku na a1:g1 z odpowiednim ' rozmiarem, wysokością i pogrubieniem. With Range("a1:g1") .HorizontalAlignment = xlCenterAcrossSelection .VerticalAlignment = xlCenter .Font.Size = 18 .Font.Bold = True .RowHeight = 35 End With ' Przygotuj a2:g2 dla etykiet dnia tygodnia z wyśrodkowaniem, rozmiarem, wysokość i pogrubienie. With Range("a2:g2") .ColumnWidth = 11 .VerticalAlignment = xlCenter .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .Orientation = xlHorizontal .Font.Size = 12 .Font.Bold = True .RowHeight = 20 Zakończ z ' wstaw dni tygodni w a2:g2. Range("a2") = "niedziela" Range("b2") = "poniedziałek" Range("c2") = "wtorek" Range("d2") = "środa" Range("e2") = "czwartek" Range("f2") = "Piątek" Range("g2") = "Sobota" ' Przygotuj a3:g7 dla dat z wyrównaniem do lewej/góry, rozmiarem, wysokością ' i pogrubieniem. With Range("a3:g8") .HorizontalAlignment = xlRight .VerticalAlignment = xlTop .Font.Size = 18 .Font.Bold = True .RowHeight = 21 End With ' Umieść wprowadzony miesiąc i rok w całości w „a1”. Range("a1").Value = Application.Text(MyInput, "mmmm yyyy") ' Ustaw zmienną i pobierz dzień tygodnia, w którym zaczyna się miesiąc. DayofWeek = WeekDay(StartDay) ' Ustaw zmienne, aby identyfikować rok i miesiąc jako oddzielne ' zmienne. CurYear = Year(StartDay) CurMonth = Month(StartDay) ' Ustaw zmienną i oblicz pierwszy dzień następnego miesiąca. FinalDay = DateSerial(CurYear, CurMonth + 1, 1) ' Umieść „1” w komórce pierwszego dnia wybranego ' miesiąca na podstawie Dnia Tygodnia. Wybierz przypadek Dzień tygodnia Przypadek 1 Zakres („a3”). Wartość = 1 Przypadek 2 Zakres („b3”). Wartość = 1 Przypadek 3 Zakres („c3”). Wartość = 1 Przypadek 4 Zakres („d3”). Wartość = 1 Przypadek 5 Zakres("e3").Wartość = 1 Przypadek 6 Zakres("f3").Wartość = 1 Przypadek 7 Zakres("g3").Wartość = 1 Koniec Wybierz ' Zapętlanie zakresu a3:g8 zwiększając każdą komórkę po komórka „1”. Dla każdej komórki w zakresie("a3:g8") RowCell = cell.Row ColCell = cell.Column ' Wykonaj, jeśli „1” znajduje się w pierwszej kolumnie. If cell.Column = 1 And cell.Row = 3 Then ' Zrób, jeśli bieżąca komórka nie znajduje się w pierwszej kolumnie. ElseIf cell.Column <> 1 Then If cell.Offset(0, -1).Value >= 1 Then cell.Value = cell.Offset(0, -1).Value + 1 ' Zatrzymaj się, gdy ostatni dzień miesiąca został „wpisany”. If cell.Value > (FinalDay - StartDay) Then cell.Value = "" ' Wyjdź z pętli, gdy w kalendarzu zostanie wyświetlona poprawna liczba ' dni. Wyjdź na koniec, jeśli koniec, jeśli „Wykonaj tylko wtedy, gdy bieżąca komórka nie znajduje się w wierszu 3 i znajduje się w kolumnie 1. ElseIf komórka.Row > 3 I komórka.Kolumna = 1 Następnie komórka.Wartość = komórka.Przesunięcie(-1, 6).Wartość + 1 ' Zatrzymuje się po wprowadzeniu ostatniego dnia miesiąca. If cell.Value > (FinalDay - StartDay) Then cell.Value = "" 'Wyjdź z pętli, gdy kalendarz ma poprawną liczbę dni'. Wyjdź na koniec, jeśli koniec, jeśli następny ' Utwórz komórki wejściowe, sformatuj je na środku, zawijaj tekst i obramuj wokół dni. For x = 0 To 5 Range("A4").Offset(x * 2, 0).EntireRow.Insert With Range("A4:G4").Offset(x * 2, 0) .RowHeight = 65 .HorizontalAlignment = xlCenter .VerticalAlignment = xlTop .WrapText = True .Font.Size = 10 .Font.Bold = False ' Odblokuj te komórki, aby móc później wprowadzić tekst po ' ochronie arkusza. .Locked = False End With ' Umieść obramowanie wokół bloku dat. With Range("A3").Offset(x * 2, 0).Resize(2, _ 7).Borders(xlLeft) .Weight = xlThick .ColorIndex = xlAutomatic End With With Range("A3").Offset(x * 2, 0).Resize(2, _ 7).Borders(xlRight) .Weight = xlThick .ColorIndex = xlAutomatic End With Range("A3").Offset(x * 2, 0).Resize(2, 7) .BorderAround _ Weight:=xlThick, ColorIndex:=xlAutomatic Next If Range("A13").Value = "" Then Range("A13").Offset(0, 0) _ .Resize(2, 8).EntireRow. Usuń „Wyłącz linie siatki. ActiveWindow.DisplayGridlines = False ' Chroń arkusz, aby zapobiec nadpisaniu dat. ActiveSheet.Protect DrawingObjects:=True, Contents:=True, _ Scenarios:=True ' Zmień rozmiar okna, aby wyświetlić cały kalendarz (może być konieczne dostosowanie ' ze względu na konfigurację wideo). ActiveWindow.WindowState = xlMaximized ActiveWindow.ScrollRow = 1 ' Zezwól na przerysowanie ekranu z pokazanym kalendarzem. Application.ScreenUpdating = True „Zapobiegaj przejściu do pułapki błędu, chyba że zostanie wykryty błąd, wychodząc z Sub” tutaj. Exit Sub ' Błąd powoduje, że msgbox wskazuje problem, udostępnia nowe pole wprowadzania ' i wznawia działanie w linii, która spowodowała błąd. MyErrorTrap: MsgBox "Być może nieprawidłowo wprowadziłeś swój miesiąc i rok."
Jak zrobić kalendarz w Excelu 2003
Jeśli używasz wersji aplikacji Microsoft 2003, krok po kroku jest nieco inny. Postępuj zgodnie z tym przewodnikiem:
- Utwórz nowy skoroszyt;
- Przejdź do menu „Narzędzia”, kliknij „Makra”, a następnie „Edytor Visual Basic”;
- Otwórz menu „Wstaw” i kliknij „Moduł”;
- Skopiuj powyższy skrypt i wklej go w pustym oknie, które zostanie otwarte;
- Przejdź do menu „Plik” i kliknij „Zamknij i wróć do programu Microsoft Excel”;
- Otwórz arkusz kalkulacyjny;
- Otwórz menu „Narzędzia”, wybierz „Makra” i kliknij „Makra”;
- Kliknij „CalendarMaker” i uruchom go, aby utworzyć kalendarz w programie Excel 2003.
Jak łatwiej dodać kalendarz do programu Excel
Wreszcie, własna aplikacja Microsoftu oferuje gotowe szablony dla tych, którzy chcą dodawać informacje tylko do codziennego i rutynowego użytku.
- Kliknij przycisk „Plik”;
- Wybierz opcję „Nowy”;
- Znajdź pasek wyszukiwania, aby znaleźć modele online;
- Wpisz słowo „Kalendarz”;
- Wybierz żądaną opcję i kliknij „Utwórz”.
Przy tak dużej ilości informacji nie masz już wątpliwości, jak zrobić kalendarz w programie Microsoft Excel. Opowiedz nam o swoich doświadczeniach z aplikacją!
Z informacjami: .