You only have one valid value, the name of the macro, to parse out. You had already created the other two inputs.
Sub SelectAppsToRun()
Dim rng As Range, ws As Worksheet, txtctl As MSForms.TextBox
Set ws = ThisWorkbook.Worksheets("Macro List")
Set txtctl = TxtBoxSht.OLEObjects("TextBox1").Object
For Each rng In MacroListSht.ListObjects("MacrosTable").ListColumns(2).DataBodyRange
Application.Run Split(rng, ", ")(0), ws, txtctl
Next rng
End Sub
Sub DisplayNameofTextBox(ws As Worksheet, activeTbx As MSForms.TextBox)
MsgBox ws.Name
MsgBox activeTbx.Name
End Sub
Use Paul's file to achieve your goal.
Unless you know that the inputs will always exist, you will want to add error handling code for missing things like macro, worksheet, and textbox.