title: Excel VBA calling sub from another sub with multiple inputs, outputs of different sizes
body: <p>I would like to call a sub from another sub inside in the same module. The first sub would be my main code and there I would call the second subroutine. Second subroutine receives multiple inputs as integer, double, double arrays and double matrices. The size of the arrays and matrices are known and stored in an integer variable. The sub also returns several outputs. So, I would like to do something like this.</p>
  
  <pre><code>sub Main()
      Nc As integer
      Dim kij(1 To Nc, 1 To Nc), xi(1 to Nc), a1 As Double
      'I assign values to my variables from the excelsheet e.g. Nc=Cells(1,1) etc.
  
      CalculateA(Nc,kij, xi, a1, a)
      Cells(5,5)=a
  end sub
  
  sub CalculateA(Nc as integer,kij as matrix double, xi as array double, a as Double)
      a=0
      For i=1 To Nc
         For j=1 To Nc
            a = a + kij(i,j)*x(i)*x(j)
         Next j
      Next i
      a = a*a1
  end sub
  </code></pre>
  
  <p>How does it know which sub is the main sub where it starts to run. Can I put the secondary sub on top and the code somehow starts from the bottom subroutine?</p>