use*_*555 21 excel vba input subroutine
我想在同一个模块中调用另一个子内部的子.第一个子将是我的主要代码,在那里我将调用第二个子例程.第二个子程序接收多个输入,如整数,双,双数组和双矩阵.数组和矩阵的大小是已知的并存储在整数变量中.该子也返回几个输出.所以,我想做这样的事情.
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
Run Code Online (Sandbox Code Playgroud)
它是如何知道哪个子元素是它开始运行的主要子元素.我可以将辅助子设置在顶部,代码以某种方式从底部子例程开始吗?
New*_*bie 38
要在另一个子区域内调用子区域,您只需要执行以下操作:
Call Subname()
Run Code Online (Sandbox Code Playgroud)
所以CalculateA(Nc,kij, xi, a1, a)你需要拥有它call CalculateA(Nc,kij, xi, a1, a)
由于运行第一个问题,你需要决定,当你想运行一个子时,你可以进入宏列表选择你要运行的那个并运行它,你也可以给它一个jey快捷方式,只需要按那些键,在次要子上我通常这样做Private sub CalculateA(...)因为这样它不会出现在宏列表中并且它更容易工作
希望它有所帮助,布鲁诺
PS:如果您有任何其他问题,请问,但这不是您要求代码的社区,您来到这里的问题或代码没有运行并寻求帮助,而不是像你做的那样"它会如果你能用Excel VBA格式写它,那就太棒了."
| 归档时间: |
|
| 查看次数: |
327124 次 |
| 最近记录: |