Automatische mail bij vervallen van datum

Status
Niet open voor verdere reacties.

AsktoKnow

Nieuwe gebruiker
Lid geworden
10 dec 2021
Berichten
3
Goedemiddag,

Voor mijn werkplek ben ik bezig met een aantal lijsten in Excel.
Een van deze lijsten staat de NEN3140 gekeurde apparatuur in en tot welke data dit gekeurd is.

Omdat ik nog redelijk nieuw ben met het gebruik van Excel heb ik wel een lijst gemaakt om te zorgen dat er gemarkeerd wordt wanneer iets verlopen is (rood) of binnen een maand verloopt(geel).

Wat ik graag zou willen is dat op het moment dat een apparaat binnen zijn laatste maand komt, er automatisch een mail verzonden wordt met de melding dat hier naar gekeken moet worden.

Ik heb redelijk soort gelijke codes gezien, maar vanwege mijn gebrek aan kennis wil ik mijn vraag toch hier stellen.
Is het mogelijk om hier een code in VBA te schrijven dat er automatisch een mail uitgaat als er een data dreigt te verlopen?
 
Dat kan allemaal.
Plaats wel een voorbeeld bestand hier.
Gebruik je Outlook voor rmail?
 
Dankjewel voor je reactie.

Ik heb hier een kleine lijst van een afdeling.
Als de macro hierin gezet wordt, is deze dan ook te kopiëren, en aan te passen natuurlijk, voor andere Excel sheets?

EDIT:

Ja, Outlook wordt hiervoor als mail gebruikt.
 

Bijlagen

  • Lijst NEN F-cellen.xlsx
    15,9 KB · Weergaven: 23
Bedoel je dat je je Excel bestand niet open hebt en toch een mail moet ontvangen?
Je kan het achter een workbook_open event zetten.

Let op, zet dit achter je ThisWorkbook module

Code:
Private Sub Workbook_Open()
 Dim ar As Variant, i As Long, x As Long, fname As String
 Dim jv() As Variant
 
 Application.ScreenUpdating = False
 If Sheets(1).Range("Z1") = Date Then Exit Sub
 
 Set ar = Sheets(1).Cells(1).CurrentRegion.Offset(1)
 fname = ThisWorkbook.Path & "\test.pdf"
  
 For i = 2 To ar.Rows.Count
   If DateDiff("d", Date, ar(i, 3)) <= 31 Then
     ReDim Preserve jv(x)
     jv(x) = ar(i, 1): x = x + 1
   End If
 Next
  
 If x = 0 Then Exit Sub
 With ar
  .AutoFilter 1, jv, 7
  .ExportAsFixedFormat xlTypePDF, fname
  .AutoFilter
 End With
   
 With CreateObject("outlook.application").createitem(0)
   .To = "test@hotmail.com"
   .Subject = "test"
   .body = "Iets vervalt binnen een maand, zie bijlage"
   .attachments.Add fname
   .display  '.send om direct te verzenden
 End With
 
 Sheets(1).Range("Z1") = Date
End Sub
 
Laatst bewerkt:
Ja klopt dat bedoel ik inderdaad.

Ik ga hiermee aan de slag, hartelijk dank voor deze code en de hulp!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan