Excel - VBA - Izrada podsjetnika

Excel je često sredstvo izbora za manipuliranje podacima, generiranje izvješća i grafikona iz različitih vrsta podataka. Međutim, Excel također može koristiti i druge zanimljive stvari kao što je stvaranje podsjetnika . To se može učiniti pomoću VBA okvira. Da biste stvorili podsjetnik, potrebno je napisati prilagođeni VBA kôd koji koristi neke od ugrađenih funkcionalnosti . Kôd, međutim, treba pokrenuti ručno u prvom stupnju i nastaviti će se izvoditi za sljedeće iteracije sve dok je radna knjiga otvorena. Ako korisnik ne želi ručno pokretati kôd, moraju definirati prilagođenu rutinu nazvanu workbook_open .

Problem

Želim automatski primiti okvir za podsjetnike, u skladu s datumom i vremenom u Excelovom radnom listu.

Može li se to učiniti u VBA?

Riješenje

 --- A -------------- B -------- C ---------------------- D 1- Datum ------- Vrijeme ------ Zadatak ------------------- Podsjeti 2- 13/3/2010 - 11:10 ---- Čista soba -------------- X 3- 13/3/2010 - 11:10 ---- Čist automobil ------------ ----- X 

X: označava da je ovo aktivni podsjetnik. Uklonite x da biste onemogućili taj podsjetnik

Na VBE (ALT + F11) iu prozoru projekta explorer, dvaput kliknite na "ThisWorkbook". Zalijepite donji kôd.

 Podsjetnik privatnog ustroja As Integer = 1 Privatni podsjetnikSljedeći kao varijanta Javni podsjetnik () currentTime = Vrijeme nextMin = CDate (Format (Vrijeme + 1 / (24 * 60), "hh: mm")) myrows = Raspon ("A1") .CurrentRegion.Rows.Count For thisrow = 2 Za myrows If (Ćelije (thisrow, "D") = "X") Zatim thistime = CDate (CDate (ćelije (thisrow, "A")) + ćelije (thisrow, "B") ")) Ako ((thistime> = Now) I (thistime <= Sada + 1 * podsjetnik / (24 * 60))) Onda task = task & vbCrLf & Cells (thisrow, " C ") &" at "& Format (Cells (thisrow, "B"), "hh: mm") End If End Ako Next (zadatak "") Onda MsgBox task reminderNext = Sada + TimeSerial (0, podsjetnik, 0) Application.OnTime reminderNext, "ThisWorkbook. podsjećam ", True End Sub 

Također morate razumjeti nekoliko stvari:

  • Kod treba pokrenuti ručno prvi put. Nakon toga, dok ne zatvorite knjigu, ona će i dalje provjeravati raspored kao što ste definirali u knjizi.
  • Kada zatvorite knjigu i ponovo je pokrenete, ponovno morate pokrenuti kôd.
  • Da biste pokrenuli kôd, trebate otići u Macro (Makro), a na traci izbornika pronaći ćete gumb za pokretanje.
  • Ako ne želite ručno pokrenuti kôd i želite da se kôd pokreće samostalno svaki put kad pokrenete knjigu, morate definirati rutinu pod nazivom Workbook_Open ()
  • Dakle, opet, ako želite ručno pokrenuti kôd onda radite točno onako kako ste radili prije i ako želite da se kôd pokreće samostalno svaki put kad se knjiga otvori, tada trebate dodati još jedan (iako zadržavate stari kôd ). Kôd bi bio:

 Privatni pod Workbook_Open () Nazovite podsjetnik Kraj Sub 

Bilješka

Zahvaljujući rizvisa1 za ovaj savjet na forumu.

Prethodni Članak Sljedeći Članak

Top Savjeta