Hi Audrey,
I See you're using an ASK field to solicit a starting date. As useful as that may be, you can't use it to trigger a macro. For that, you might do better to use a MACROBUTTON field; otherwise, you'll need to manually run the macro after updating the ASK field.
And, given the prospect of the macro running multiple times and outputting new dates, you'll need to use code like:
Sub Update()
Dim StartDate As Date
StartDate = CDate(InputBox("What is the StartDate?", "StartDate", Format(Date, "MMM D")) & Format(Date, " YYYY"))
With ActiveDocument
Call InsertOrdinalDate(StartDate + 1, .Bookmarks("TimeA"))
Call InsertOrdinalDate(StartDate + 3, .Bookmarks("TimeB"))
End With
End Sub
Sub InsertOrdinalDate(DtTm As Date, BkMk As Bookmark)
Dim Rng As Range, StrNm As String
Set Rng = BkMk.Range
StrNm = BkMk.Name
With BkMk.Range
.Text = Format(DtTm, "MMMM, D")
.Start = .End
.Text = Ordinal(Format(DtTm, "D"))
.Font.Superscript = True
Rng.End = .End
ActiveDocument.Bookmarks.Add StrNm, Rng
End With
End Sub
Function Ordinal(l As Long) As String
Dim strOrd As String
If (l Mod 100) < 11 Or (l Mod 100) > 13 Then strOrd = Choose(l Mod 10, "st", "nd", "rd") & ""
Ordinal = IIf(strOrd = "", "th", strOrd)
End Function
With the above, your MACROBUTTON field would call the 'Update' macro. With a bit more tweaking, the code could also update the MACROBUTTON field's display to show, for example, the input date.