解決function只能傳回一個值的問題
--------------------------------------------------------------------------------
 ●用function當成子程序的一個好處,就是function本身可以傳回一個值到上一層呼叫的子程序里,但問題來了,若為了工作上的需要,想一次傳回一個以上的值,那該怎么辦?
 
private sub command1_click() 
myreturn 5, 6 
end sub 
private function myreturn(x, y) as long 
a = x + y 
b = x - y 
c = x * y 
d = x / y 
'想傳回a、b、c、d四個數值回去,怎么寫? 
end function
●這是一個基本的觀念問題,子程序與子程序間的傳值有byval與byref兩種,byval是兩個子程序間的傳值放在不同的內存位置,而預設的byref則是將傳值放在同一個內存位置上,故這一點可以拿來利用,可將上式改寫成: 
 
private sub command1_click() 
myreturn 5, 6, ans1, ans2 ,ans3 ,ans4 
msgbox "答案分別是" & ans1 & "," & ans2 & "," & ans3 & "," & ans4 
end sub 
private function myreturn(x, y, a, b, c, d) as long 
a = x + y 
b = x - y 
c = x * y 
d = x / y 
end function
●或是把資料作成variant型態數組傳回: 
 
private sub command1_click() 
ans = myreturn(5, 6) 
msgbox "答案分別是" & ans(0) & "," & ans(1) & "," & ans(2) & "," & ans(3) 
end sub 
private function myreturn(x, y) as variant 
myreturn = array(x + y, x - y, x * y, x / y) 
end function