Excel - VBA - Skapa en påminnelse

Excel är ofta det verktyg du väljer för att manipulera data, generera rapporter och diagram från olika typer av data. Man kan emellertid också använda Excel för att göra andra intressanta saker som att skapa en påminnelse . Detta kan göras med hjälp av VBA-ramverket. För att skapa en påminnelse behöver en anpassad VBA- kod skrivas som använder vissa av de inbyggda funktionerna . Koden måste dock köras manuellt i första hand och det fortsätter att springa för nästa iterationer så länge som arbetsboken är öppen. Om användaren inte vill köra koden manuellt måste de definiera en anpassad rutin som heter workbook_open .

Problem

Jag vill få en påminnelsemelding automatiskt, enligt datum och tid i ett Excel-kalkylblad.

Kan detta göras i VBA?

Lösning

 --- A -------------- B -------- C ---------------------- D 1- Datum ------- Tid ------ Uppgift ------------------- Påminn dig 2- 13/3/2010 - 11:10 ---- Renrum -------------- X 3- 13/3/2010 - 11:10 ---- Ren bil ------------ ----- X 

X: Anger att detta är en aktiv påminnelse. Ta bort x för att inaktivera den här påminnelsen

På VBE (ALT + F11) och i projekt explorer-fönstret dubbelklickar du på "ThisWorkbook". Klistra in koden nedan.

 Private Const reminder As Integer = 1 Privat reminderNext Som variant Offentlig Subminne () currentTime = Tid nextMin = CDate (Format (Tid + 1 / (24 * 60), "hh: mm")) myrows = Range ("A1") .CurrentRegion.Rows.Count För thisrow = 2 To myrows Om (Celler (thisrow, "D") = "X") Då thistime = CDate (CDate (Celler (thisrow, "A")) + Celler ")) Om ((thistime> = Nu) Och (thistime <= Nu + 1 * påminnelse / (24 * 60))) Uppgift = uppgift & vbCrLf & Cells (thisrow, " C ") &" at "& Format (Celler (thisrow, "B"), "hh: mm") Avsluta Om Slut Om Nästa Om (Uppgift "") Sedan MsgBox Uppgift reminderNext = Nu + TidSeriell (0, Påminnelse, 0) Application.OnTime reminderNext, "ThisWorkbook. remindMe ",, True End Sub 

Du behöver också förstå några saker:

  • Koden måste startas manuellt första gången. Därefter fortsätter du att kontrollera rutan som du har definierat i boken tills du stänger boken.
  • När du stänger boken och startar om den måste du återigen börja koden igen.
  • För att starta koden måste du gå till Macro, och där hittar du en körknapp på menyraden.
  • Om du inte vill köra koden manuellt och du vill att koden ska springa ensam när du startar boken måste du definiera en rutin som heter Workbook_Open ()
  • Så igen, Om du vill köra koden manuellt gör du exakt som du gjorde tidigare och om du vill att koden ska springa ensam när boken öppnas, måste du lägga till ytterligare en (du behåller den gamla koden dock ). Koden skulle vara:

 Privat Sub Workbook_Open () Ring påminnaMen Slut Sub 

Notera

Tack till rizvisa1 för detta tips på forumet.

Tidigare Artikel Nästa Artikel

Bästa Tipsen