VBA Excel naar outlook taken

Status
Niet open voor verdere reacties.

Rose34

Gebruiker
Lid geworden
11 jan 2016
Berichten
8
Goedemiddag,

Ik heb een VBA code voor het versturen van data vanuit excel naar outlook taken, voor het herinneren van het versturen van facturen. Daarvoor heb ik 3 tabbladen aangemaakt. Bij de eerste 2 werkt de code goed, bij het 3e tabblad (datum herverificatie) verstuurd hij ook lege cellen daaronder die dan een datum 1899 in outlook krijgen. Ik kan de fout zelf niet vinden. Kunnen jullie mij hiermee helpen?

Bijgevoegd de printscreens en het excel bestand met de VBA.

Groet,
Rozemarijn

Bekijk bijlage Printscreen excel_to_outlook_helpmij 15-09-2017.docxBekijk bijlage Excel to outlook taken_test 15-09-2017_1_Helpmij.xls
 
Volgens mij:
Code:
With Worksheets([COLOR="#FF0000"]3[/COLOR])
ipv
Code:
With Worksheets([COLOR="#FF0000"]1[/COLOR])
 
Je kan beter gebruik maken van 1 procedure en deze dan aanroepen vanuit de knop. De sheet waarin de knop staat is altijd de activesheet dus je hoeft niet te verwijzen naar een werkblad. Je zoekt ook in de verkeerde kolom naar lege cellen. De controle of outlook openstaat en/of gesloten moet worden lijkt mij onzinnig maar kan je er natuurlijk weer inbouwen.

Code:
Sub VenA()
  Dim j As Long, ar
  With CreateObject("Outlook.Application").CreateItem(3)
    ar = Cells(1).CurrentRegion
    For j = 3 To UBound(ar)
      If ar(j, 1) <> "" And ar(j, 9) = "" Then
        .Subject = ar(j, 2)
        .StartDate = CDate(ar(j, 4))
        .DueDate = CDate(ar(j, 5))
        .ReminderSet = CBool(ar(j, 6))
        .ReminderTime = CDate(ar(j, 7))
        ar(j, 8) = Format(Now(), "yyyy-MM-dd hh:mm:ss")
        .Body = ar(j, 1)
        .Save
      End If
    Next j
    Cells(1).CurrentRegion = ar
  End With
End Sub
 

Bijlagen

  • Excel to outlook taken_test 15-09-2017_1_Helpmij-1.xls
    136 KB · Weergaven: 62
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan