Versturen van mail naar geadresseerde bij verlopen datum

Status
Niet open voor verdere reacties.

DOP2014

Gebruiker
Lid geworden
3 mrt 2014
Berichten
16
Geachte forumleden,

Momenteel werk ik aan een overzicht waarin ik alle contracten ga beheren. Zie daarvoor het bijgevoegde bestand als voorbeeld.
Aan dit overzicht wil ik graag het volgende toevoegen, waar ik zelf niet uit kom.

Als de datum in kolom P binnen nu en één maand verstrijkt, dan wil ik graag dat er een mail wordt verzonden naar de verantwoordelijke contractant, welke in kolom Y en Z staan en daarnaast een melding in excel dat de mail aan deze mail is verzonden. Eventueel iets in combinatie met kleuren, zou helemaal geweldig zijn.

Kolom P is gebaseerd op begincontract + contractduur - ( opzegtermijn + 1 maand)

Kan dit middels VBA en wie kan mij hierbij helpen. Mijn dank is groot, alvast bedankt voor het meedenken.

Mvgr,
Dennis Bekijk bijlage voorbeeld contractbeheer test.xlsx
 
Goedemorgen,

Is er iemand die mij met bovenstaande kan ondersteunen. Ik heb zelf geen kennis van VBA en vraag mij dus af het gerealiseerd kan worden middels VBA. Ik Kijk uit naar jullie reply.

Mvgr,
Dennis
 
Hallo Dennis,

Dit kan zeker gerealiseerd worden met VBA.
Je kunt kolom P vanaf een bepaalde cel (in jouw voorbeeld cel P7) uitlezen en per regel bepalen hoeveel dagen het contract vanaf het huidige moment nog loopt.
Onderstaande code helpt je hopelijk al een eindje op weg; ter verduidelijking heb ik wat opmerkingen tussengevoegd.

Sub BepalenSturenEmail()
Dim olApp As Object
Dim appOutlookMsg As Object

Sheets("Blad1").Select 'zekerstellen dat code over juiste werkblad wordt gedraaid

'loopen door kolom P
i = 7 'rij waarop begonnen moet worden
Do
If Range("P" & i).Value - Now() < 31 Then '31 dagen gelijk geschaald aan 1 maand

'versturen emails (via Outlook)
On Error Resume Next
Set olApp = GetObject(, "Outlook.Application")

If Err.Number = 429 Then
Set olApp = CreateObject("Outlook.application")
End If

On Error GoTo 0

Set appOutlookMsg = olApp.CreateItem(olMailItem)

With appOutlookMsg

.To = Range("Y" & i)
.Subject = "Contract loopt binnenkort af"
.Body = "Geachte " & Range("Z" & i)
.Display
'.Send 'om meteen te versturen
End With


End If

i = i + 1
Loop Until IsEmpty(Range("P" & i))




End Sub

Je kunt deze code kopieren in een aparte module in jouw Excel bestand.
En uiteraard zelf de mailinhoud (.Body, .Subject) aanpassen.
 
Hoi,
Ik heb net dit gelezen....Nu is mijn vraagje...
Hoe kan ik dit het beste toepassen....

Ik wil een cursisten bestand maken met daarbij
diverse kolommen.
Bijv. NAW gegevens, afgiftedatum certificaat, verval datum.
Vervaldatum moet gekleurd worden met een melding.( email verzending.)
groetjes,
Franssen
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan