Excel - VBA - Tworzenie przypomnienia

Excel jest często wybieranym narzędziem do manipulowania danymi, generowania raportów i wykresów z różnych typów danych. Można jednak również użyć programu Excel do robienia innych interesujących rzeczy, takich jak tworzenie przypomnienia . Można to zrobić przy użyciu struktury VBA. Aby utworzyć przypomnienie, należy napisać niestandardowy kod VBA, który wykorzystuje niektóre wbudowane funkcje . Kod musi jednak zostać uruchomiony ręcznie w pierwszej kolejności i będzie kontynuowany do następnych iteracji, dopóki skoroszyt jest otwarty. Jeśli użytkownik nie chce uruchamiać kodu ręcznie, musi zdefiniować niestandardową procedurę o nazwie workbook_open .

Kwestia

Chcę automatycznie uzyskać wiadomość z przypomnieniem, zgodnie z datą i godziną w arkuszu programu Excel.

Czy można to zrobić w VBA?

Rozwiązanie

 --- A -------------- B -------- C ---------------------- D 1- Data ------- Czas ------ Zadanie ------------------- Przypomnij 2- 13/3/2010 - 11:10 ---- Clean Room -------------- X 3- 13/3/2010 - 11:10 ---- Clean Car ------------ ----- X 

X: oznacza, że ​​jest to aktywne przypomnienie. Usuń x, aby wyłączyć to przypomnienie

W VBE (ALT + F11) iw oknie eksploratora projektu kliknij dwukrotnie „ThisWorkbook”. Wklej poniższy kod.

 Przypomnienie o stałej prywatnej As Integer = 1 Przypomnienie prywatneNext As Variant Subskrypcja publiczna Przypomnij () currentTime = Czas nextMin = CDate (Format (Czas + 1 / (24 * 60), „hh: mm”)) myrows = Zakres („A1”) .CurrentRegion.Rows.Count Dla tego = 2 Do myrows If (Cells (thisrow, "D") = "X") Następnie thistime = CDate (CDate (komórki (w tym, "A")) + komórki (w tym kierunku, B „)) If ((thistime> = Now) I (thistime <= Teraz + 1 * przypomnienie / (24 * 60))) Następnie task = zadanie & vbCrLf & Cells (w tym, „ C ”) i„ at ”& Formatuj (Komórki (w tym „B”), „hh: mm”) Koniec jeśli koniec Jeśli dalej Jeśli (zadanie ””) Następnie zadanie MsgBox reminderNext = Teraz + TimeSerial (0, przypomnienie, 0) Przypomnienie aplikacji.OnTime Dalej, „Ten podręcznik. przypomnij „,, True End Sub 

Musisz także zrozumieć kilka rzeczy:

  • Kod musi zostać uruchomiony ręcznie po raz pierwszy. Następnie, dopóki nie zamkniesz książki, będzie sprawdzać harmonogram, tak jak zdefiniowałeś to w książce.
  • Po zamknięciu książki i jej ponownym uruchomieniu musisz ponownie uruchomić kod.
  • Aby uruchomić kod, musisz przejść do makra, a tam znajdziesz przycisk uruchamiania na pasku menu.
  • Jeśli nie chcesz ręcznie uruchamiać kodu i chcesz, aby kod był uruchamiany samodzielnie po każdym uruchomieniu książki, musisz zdefiniować procedurę o nazwie Workbook_Open ()
  • Tak więc ponownie, jeśli chcesz ręcznie uruchomić kod, wykonaj dokładnie to samo, co poprzednio i jeśli chcesz, aby kod był uruchamiany samodzielnie po otwarciu książki, musisz dodać jeszcze jeden (zachowujesz jednak stary kod ). Kod byłby:

 Private Sub Workbook_Open () Przypomnienie połączeniaMe End Sub 

Uwaga

Dziękujemy rizvisa1 za tę poradę na forum.

Poprzedni Artykuł Następny Artykuł

Najważniejsze Wskazówki