Is any of your "Last_Name" fields in the data source empty? If so, the code will exit at that point.
PS: The following is a more efficient version of your code:
Code:
Sub Merge_To_Individual_Files()
'Merges one record at a time to the folder containing the mailmerge main document.
' Sourced from: http://www.msofficeforums.com/mail-merge/21803-mailmerge-tips-tricks.html
Application.ScreenUpdating = False 'turn off the screen refreshing
Dim StrFolder As String, StrName As String, MainDoc As Document, i As Long, j As Long
Const StrNoChr As String = """*./\:?|"
'
' use the active document with this code
Set MainDoc = ActiveDocument
With MainDoc
StrFolder = .Path & Application.PathSeparator
With .MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True '
' top of a loop to process the rows in the spreadsheet into documents
For i = 1 To 75
With .DataSource
.FirstRecord = i
.LastRecord = i
.ActiveRecord = i
If Trim(.DataFields("Last_Name")) = "" Then Exit For
'StrFolder = .DataFields("Folder") & Application.PathSeparator
'
' Build the filename from the spreadsheet merge fields
'
StrName = .DataFields("Manager_Name") & " " & .DataFields("Last_Name") & "_" & .DataFields("First_Name")
End With
.Execute Pause:=False
'
' Remove non-filename characters from the built name
For j = 1 To Len(StrNoChr)
StrTxt = Replace(StrName, Mid(StrNoChr, j, 1), "_")
Next
StrName = Trim(StrName)
'
' save the file to the created name
With ActiveDocument
.SaveAs FileName:=StrFolder & StrName & " - 2020 Bonus Adjustment.pdf", FileFormat:=wdFormatPDF, AddToRecentFiles:=False
.Close SaveChanges:=False
End With
'bottom of a loop to process the rows in the spreadsheet into documents
Next i
End With
End With
Application.ScreenUpdating = True ' restore the screen refreshing
End Sub