Warren, thanks for the follow up. The problem of the patch not writing the email address to the destination list is not resolved. I don't think it is an issue with your code. Like before, the code works as long as I don't include the email in the patch statement (i.e. works fine with only Title). The content of collection Test2 is fine, but when I trigger the above code it returns the error:
"The requested operation is invalid: Server response: Training Tracker failed: The specified user could not be found."
Test2 contents is below and I am using my email address which is correct.

Here is a summary of the intended process:
1) On the screen, there is a drop down that the user selects to assign a role to an individual. It is dd_Role
2) The on visible property of the screen creates two collections, test and test2
Test looks into the course catalogue SharePoint list and brings back all course titles whose audience includes the selected dd_Role per:
ClearCollect(
Test,
ShowColumns(
Filter(
'Course Catalog',
dd_Role.Selected.Role in Audience.Value
),
"Title"
)
);
At this point, the content of Test is correct.
3) Then Test2 is created which adds the current user's email to each record in Test per:
ClearCollect(
Test2,
AddColumns(
Test,
"Email",
User().Email
)
)
The content of Test2 per picture above is correct.
4) Then I try to patch each record of Test2 to the master training list per your code:
Patch(
TrainingTracker,
ForAll(
Test2 As aPatch,
{
Title: aPatch.Title,
Email: {
'@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser",
Claims: "",
Department: "",
DisplayName: "",
Email: aPatch.Email,
JobTitle: "",
Picture: ""
}
}
)
)
5. The code is fine as I am able to "format text" but it errors on execution per error above.