Dear all,我有個有關"陣列"和"傳值"的問題想要請教大家。我的目的大概是這樣==>想令數個全域變數能共同使用於多個程序與函數內,一開始想到要使用陣列當成引述傳遞到某函式內做運算後,再將運算結果設計成陣列傳會呼叫該函式的程序中,而這樣的過程必須迴圈相當的次數。經過指點,才將程式更改成下列這樣,但在function A傳值回來到find()時卻出現了錯誤,錯誤訊息如下:
dim X as integer,Y as integer
sub find()
dim info() as variant
 dim flag as integer 
  X=0 
  Y=0
 do while flag<5 
  info = A(X,Y)
  X=info(0)   <==偵錯後說我此處'型態不符'
  Y=info(1)
  flag=flag+1
 loop
end sub
function A(ParamArray all_data() as variant) as variant
data1=all_data(0)
  data2=all_data(1)
  data1=data1+1
  data2=data2+2
  all_data=array(data1.data2)
end function
不知我在傳回值的使用和設計上是否有誤?當初想利用'陣列型態'傳遞引數是考量到傳遞的引數很多,但現在我已經放棄這樣的傳遞方式,但是在傳回至呼叫該函式的程序時(function A的傳回值我是想要用陣列型態傳回),於指定變數值的地方還是出了錯,能否煩請各位高手指教,謝謝!! :) p.s.我使用的是VBA ,ACCESS2000
arrow
arrow
    全站熱搜

    vbqa 發表在 痞客邦 留言(3) 人氣()