Yes this is achievable. The following code is just based on assumptions.

Code:
Sub PrintForEachValue()
    Dim rng As Range
    Set rng = Worksheets("ListOfNames").Range("A1:A10")
    For Each rng In rng
        ActiveSheet.Range("A1").Value = rng.Value
        ActiveSheet.PrintOut Copies:=1
    Next rng
    Set rng = Nothing
    
End Sub