vba r如何创建返回多个值的方法

Python026

vba r如何创建返回多个值的方法,第1张

返回多个值是不可能的,任何编程语言都做不到。

但是

1、可以返回数组,如下例。

2、vb/(vba/vbs)是默认按地址传递的,所以参数里的数被改变的,在父函数中也被改变了。数组参数也是一样。

Function a()

Dim w(2)

w(1) = 1

MsgBox w(1)

a = w'返回数组

End Function

Sub b()

w = a

MsgBox w(1)

End Sub

b过程甚至可以这样

Sub b()

MsgBox a(1)

End Sub

使用shell语句,例子:

Sub RAR()

    Shell "C:\Program Files\WinRAR\WinRAR.exe", vbNormalFocus

End Sub

就这么两句,值当的单独写一个SUB么,哪里需要这两个行号,就在哪里放上这两句就行了嘛。

如果你非要这么干,就在顶部进行声明

如果只是在同一个模块中反复调用此SUB,那就把c和r声明为模块级变量:

在模块顶部写:

Private c%, r&

Dim c%, r&

如果是多个模块共用c和r,那就把c和r声明为全局变量:

也是在模块顶部写:

Public c%, r&

其中Private是私有的,模块级的,Public是公有的,工程级的。

在模块顶部写声明时,Dim同Private

补充说明:

能确定变量类型的,尽量指明类型,如果不指明变量类型,默认是Variant型。

如前用到的,%是integer整数型,&是loog长整型。

列数最多也就几千列,所以c肯定在整数型范围内,所以声明为integer型。

行数最多有一百多万行,所以r有可能会超出整数型范围,所以声明为loog型。