Open recordset of department numbers, loop the recordset, reference the deptnum field as criteria for opening filtered report, output report to PDF, close report, move to next record, repeat.
Consider:
Code:
Private Sub StartReports_Click()
Dim rsetDepts As DAO.Recordset
Dim strPath As String, strWhere As String
Set rsetDepts = CurrentDb.OpenRecordset("SELECT DeptNum FROM [Dept List];")
While Not rsetDepts.EOF
strPath = "C:\users\wmusser\Downloads\" & rsetDepts!deptnum & ".pdf"
strWhere = "Dept='" & rsetDepts!deptnum & "' And [Billing Cycle Date]=#" & Me.tbxCycle & "#"
DoCmd.OpenReport "By Dept Bill Detail", acViewPreview, , strWhere
DoCmd.OutputTo , , acFormatPDF, strPath
DoCmd.Close acReport, "By Dept Bill Detail"
rsetDepts.MoveNext
Wend
End Sub
If deptnum is a number type field, remove the apostrophe delimiters.
BTW, recommend no spaces or special characters/punctuation (underscore is exception) in naming convention. Note the use of [].