It can be done using Reflection, which is laborious to code and slow to execute, which is why it tends not to be used unless absolutely necessary. Here's how you might set a property of an object when you have the name of the property in a String:
That code doesn't make allowance for a property that doesn't exist or a value of the wrong type. I'll leave those details to you.
Private Sub SetObjectProperty(obj As Object, propertyName As String, value As Object)
Dim objType = obj.GetType()
Dim prop = objType.GetProperty(propertyName)
prop.SetValue(obj, value, Nothing)