While.. wend werkt niet

Status
Niet open voor verdere reacties.

Sebasttiaan

Gebruiker
Lid geworden
15 okt 2007
Berichten
11
Ik heb al een aantal keer het volgende probleem gehad:
Als ik een macro (die het perfect doet) meerdere keren wilt laten afspelen met behulp van while... wend dan krijg ik een foutmelding

Onderstaand voorbeeld gaat over een agenda item toevoegen aan Outlook. De Macro werkt perfect zonder while en wend, maar zodra ik beide ga gebruiken, krijg ik een foutmelding bij de eerste variabele na while. het lijkt erop dat de variabelen die ik vóór 'while' heb gedefineerd, op de een of andere manier niet worden meegenomen (ik krijg bij de variabele datum al een foutmelding).

Kan iemand mij misschien helpen?

Groeten, Sebastiaan

-------------------------------------

Sub Agenda() 'agenda item toevoegen aan outlook

Dim OutApp As Object
Dim OutAppt As Object

Dim Aantal, Count, Datum As Date, Start, Starttijd, Eindtijd

Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon

Set OutAppt = OutApp.createitem(1)

Aantal = Range("CF4").Text
Count = 0
Start = 6

'While Count <> Aantal
Datum = Range("CG" & Start).Text
Starttijd = Range("CH" & Start).Text
Eindtijd = Range("CI" & Start).Text
With OutAppt
.Start = Datum + TimeValue(Starttijd)
.End = Datum + TimeValue(Eindtijd)
.Subject = Range("D" & Start).Text
.Location = "The teachers house"
.Body = "Don't forget to take an apple for the teacher"
'.BusyStatus = olBusy
'.ReminderMinutesBeforeStart = 120
.ReminderSet = False
.Save
End With
' Count = Count + 1
' Start = Start + 1
'Wend

End Sub
 
Het is goed om in VBA altijd exact te verwijzen naar objecten (dus niet Range("A1") maar Sheets(1).Range("A1") )

Code:
Sub Agenda()
  sq=sheets(1).range("CG6").resize(val(sheets(1).Range("CF4").Text))
  With CreateObject("Outlook.Application").GetNamespace("MAPI").createitem(1)
    For j= 1 to val(sheets(1).Range("CF4").Text)
      .Start = sq(j,1) + TimeValue(sq(j,2))
      .End = sq(j,1) + TimeValue(sq(j,3))
      .Subject = sheets(1)Range("D" & j+6).Text
      .Location = "Vergaderzaal 2"
      .Body = "Interventiebijeenkomst"
      .ReminderSet = False
      .Save
    Next
  End With
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan