Excel - VBA - Emlékeztető létrehozása
Az Excel gyakran az adatfeldolgozás eszköze, jelentések és diagramok generálása különböző típusú adatokból. Ugyanakkor az Excel segítségével más érdekes dolgokat is használhat, mint például emlékeztető létrehozása . Ezt VBA keretrendszerrel lehet elvégezni. Emlékeztető létrehozásához egy egyedi VBA kódot kell írni, amely a beépített funkciók egy részét használja. A kódot azonban manuálisan kell futtatni első lépésben, és a következő iterációkra is folytatódik, amíg a munkafüzet nyitva van. Ha a felhasználó nem akarja manuálisan futtatni a kódot, meg kell határoznia a workbook_open nevű egyéni rutint.
Probléma
Az Excel munkalapon lévő dátum és idő szerint automatikusan emlékeztető üzenetet kapok.
Ez megtörténhet a VBA-ban?
Megoldás
--- A -------------- B -------- C ---------------------- D 1- Dátum ------- Idő ------ Feladat ------------------- Remind 2-13/3/2010 - 11:10 ---- Tiszta szoba -------------- X 3-13/3/2010 - 11:10 ---- Tiszta autó ------------ ----- X
X: jelzi, hogy ez aktív emlékeztető. Az emlékeztető letiltásához távolítsa el az x-et
A VBE (ALT + F11) és a projektfelderítő ablakban kattintson duplán a "ThisWorkbook" -ra. Illessze be az alábbi kódot.
Private Const emlékeztető As Integer = 1 Privát emlékeztetőNext Változó Public Sub emlékeztetőMe () currentTime = Time nextMin = CDate (Formátum (Time + 1 / (24 * 60), "hh: mm")) myrows = Tartomány ("A1") .CurrentRegion.Rows.Count For thisrow = 2 A myrowokhoz Ha (Cells (thisrow, "D") = "X") Ezután thistime = CDate (CDate (sejtek (ez a ", " A ")) + sejtek (ez a" B ") ")) Ha ((thistime> = most) és (thistime <= most + 1 * emlékeztető / (24 * 60))) Ezután a feladat = feladat & vbCrLf & Cellák (ez a" C ") &" at "és" Formátum " (Cellák (ezután, "B"), "hh: mm") Vége Ha vége Ha a következő Ha (feladat) "Majd MsgBox feladat reminderNext = Most + TimeSerial (0, emlékeztető, 0) Alkalmazás.OnTime emlékeztetőNext, " ThisWorkbook. emlékeztetőMe ",, True End Sub
Szintén meg kell értenie néhány dolgot:
- A kódot először kézzel kell elindítani. Ezt követően, amíg bezárja a könyvet, az ellenőrzi a menetrendet a könyvben meghatározott módon.
- Miután bezárta a könyvet és újraindította azt, újra kell indítania a kódot.
- A kód elindításához makróra kell mennie, és ott talál egy futógombot a menüsorban.
- Ha nem szeretné manuálisan futtatni a kódot, és azt szeretné, hogy a kód önállóan fusson a könyv indításakor, akkor meg kell adnia a Workbook_Open () nevű rutint.
- Tehát ismét, ha manuálisan szeretné futtatni a kódot, akkor pontosan úgy, mint korábban, és ha azt szeretné, hogy a kód önállóan fusson, amikor a könyvet megnyitják, akkor még egyszer kell hozzáadni (a régi kódot mégis megőrzi) ). A kód:
Privát Sub Workbook_Open () hívás emlékeztetőMe End Sub
jegyzet
Köszönet a rizvisa1-nek a fórumon található tippért.