Sub Something() 'I don't care what you call this routine
' You have two sheets, one incoming and one outgoing - so to speak - so instead of having to spell them out all the way through, let's
' set some variables to make it easier.
Set owsFm = ThisWorkbook.Sheets("Key Stats") '"ows" just means a worksheet object to me
Set owsTo = ThisWorkbook.Sheets("23 score") 'I'm just assuming both worksheets are in the same workbook
Set ocsTo = owsTo.Cells 'ocs is my way of talking about cells; you can stick to Range if you want
owsTo.PageSetup.PrintArea = "B1:T53"
fnp = "f:\team\000999.05600_acct\annette\2023\fy 2023" & "\" 'we'll set this outside the loop; it's the same for all of them, right?
For Each cell In owsFm.Range("A4:A" & Rows.Count).SpecialCells(xlCellTypeConstants)
' This is clever! I've never used this before; I would have ascertained the last row and then just looked though them all, as in my
' previous example. But I'm not sure why you want just the constants. Guess it's safe enough, though.
jr = cell.Row 'we still need the row number, though
Atty = owsFm.Range("B" & jr).Value 'get the name
ocsTo(<rownum>, <colnum>).Value = Atty 'insert the attorney name in the score sheet
' get the rest of the values from this row and assign them to the appropriate cells in the score sheet
owsTo.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fnp & Atty & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True _
, IgnorePrintAreas:=False, OpenAfterPublish:=False
owsTo.PrintOut Copies:=1, Collate:=True
Next cell
End Sub