If you had Outlook open already, and used GetObject() rather than CreateObject() that might speed things. DoEvents may help on occassion. http://answers.microsoft.com/en-us/o...0-95a9680000f8

Creation of the PDFs may be taking longer than you think. Try using a timer to see time for tasks.

From a blank sheet run
Sub FillARange()
  Dim r As Range, bRange As Range, t1 As Double
  Cells.ClearContents
  t1 = Timer
  SpeedOn
  [A1] = "ColA"
  [B1] = "ColB"
  [C1] = "ColC"
  Set bRange = Range("A2:C1000")
  For Each r In bRange
    If r.Column = 1 And r.Row Mod 2 = 0 Then
      r.Value = "Delete"
      Else: r.formula = "=Row()*Column()"
    End If
  Next r
  SpeedOff
  MsgBox "Added " & bRange.Rows.Count & " rows and " & bRange.Count & " cells." & _
  vbCrLf & "It took " & CStr(Timer - t1) & " seconds."
End Sub