如何用VBA傳遞引數到令函式,如何用VBA傳遞引數到令一個函式?

2021-05-26 01:09:02 字數 1956 閱讀 8988

1樓:匿名使用者

sub a()

dim i

i =1

call b(i)

end sub

sub b(n)

dim j

j=nmsgbox j

end sub

如何實現vba中函式的可變引數傳遞

2樓:匿名使用者

'使用 paramarray 關鍵字可以使函式接收數目可變的引數function calcsum(byval firstarg as integer, paramarray otherargs())

dim i as integer

calcsum = firstarg

for i = 0 to ubound(otherargs)calcsum = calcsum + otherargs(i)next

end function

'如果用如下**呼叫該函式:

sub example1()

dim returnvalue

'區域性變數賦予以下值:firstarg = 4,'otherargs(0) = 3,otherargs(1) = 2,otherargs(2) = 1,等等。

returnvalue = calcsum(4, 3, 2, 1)msgbox returnvalue

end sub

請教,在excel vba 中,如何在子程式完成後返回值到主程式(呼叫子程式的引數傳遞我已知道方法了)?

3樓:匿名使用者

兩種方法:第一,通過傳引數。引數在子程式裡被修改的話,主程式的值也相應改掉(當然傳值方法除外)。第二,子程式設定返回值,

private sub() as string

4樓:匿名使用者

你設定變數為全域性變數,這樣就可以了。

5樓:匿名使用者

我還沒有到掌握excel vba的地步,我先至此了,今後我再關注高人指點!

excel vba函式不能傳入多個引數嗎

6樓:匿名使用者

'可以傳bai

入多個引數du

'使用 paramarray 關鍵zhi字可以使函dao數接收數目可變的引數

function calcsum(byval firstarg as integer, paramarray otherargs())

dim i as integer

calcsum = firstarg

for i = 0 to ubound(otherargs)calcsum = calcsum + otherargs(i)next

end function

'如果用如下**呼叫該函專數:

sub example1()

dim returnvalue

'區域性變數賦予

屬以下值:firstarg = 4,

'otherargs(0) = 3,otherargs(1) = 2,otherargs(2) = 1,等等。

returnvalue = calcsum(4, 3, 2, 1)msgbox returnvalue

end sub

通過excel vba自定義了一個函式,無法把陣列傳入到函式中。

7樓:匿名使用者

只能傳單元格,然後轉陣列。如下

function mytest(rng as range)dim arr() as variant

set arr = rng.value

mytest = ubound(arr)

end function

8樓:匿名使用者

這要用paramarray的。

EXCEL高手如何用VBA限制開啟時間

本帖最後由 hytsky 於 2011 12 19 23 50 sub time dim a as date dim b as date dim c as date a date b sheets 使用者及密碼 range h500 value c 2011 12 20 if a b then el...

Excel求助大神六宮格數獨如何用VBA解決

曾經沒事的時候編過,但自己邏輯不行,不能自動全解。只能把簡單沒有複雜推斷數填上,遇到兩種及以上可能的,就只能把所有可能填上。用vba解數獨程式 為方便起見,建名稱 數獨盤 和 可選數 分別代表b2 j10和b12 j20兩個區域。用如下vba程式清空初盤 sub 清空初盤 dim rag as ra...

VBA自定義函式當引數是陣列時該如何書寫

兩個都可以,第bai二個不能引用 單元格區du域,每個單zhi元格都是一個 dao引數,需要用逗號內分隔 第一個比較接近內容 置函式sum option explicit function ssum byval range as range as double dim rng as range fo...