title: Pass dynamic parameters to Application.Run in VBA - Error 449 argument not optional error
body: <p><strong>Context:</strong> I am trying to dynamically call a method via VBA's <code>Application.Run</code> function and pass parameters to the method, dynamically. More of a proof of concept than an actual use case.</p>
  
  <p><strong>Code:</strong></p>
  
  <pre><code>Public Sub Test()
      Call MethodDynamically("MethodToBeCalled", "This doesnt, work")
  End Sub
  
  Public Sub MethodDynamically(MethodName As String, Params As String)
      Application.Run MethodName, Params
  End Sub
  
  Public Sub MethodToBeCalled(Param1 As String, Param2 As String)
      Debug.Print Param1 &amp; " " &amp; Param2
  End Sub
  </code></pre>
  
  <p><strong>Error:</strong> Running the <code>Test</code> method I receive <code>Run-time error '449': Argument not optional</code> on the <code>Application.Run</code> line in the <code>MethodDynamically</code> method.</p>
  
  <p><strong>Expectation</strong>: My desire is that running the <code>Test</code> method will trigger <code>MethodToBeCalled</code> with <code>This doesnt</code> and <code>work</code> being passed as parameters. The result would be <code>This doesnt work</code> in the Immediate Window.</p>