Re: [VBA ] 請問自定函數如何讀取陣列的值

看板Visual_Basic作者 (13)時間18年前 (2007/02/08 00:43), 編輯推噓3(300)
留言3則, 1人參與, 最新討論串3/3 (看更多)
謝謝你的幫忙,這樣就可以執行了 我是看書說宣告陣列可以用 陣列(i To j)來指定它的開始位置跟長度, 那怎麼用array(a,b,c...)它說無法指定到陣列.... 那如果我想把值存到2維陣列中例如 tempR(1,i),tempR(1,1)=10 tempR(1,2)=5..... 我要怎麼把值放進去?一個一個打出來嗎? 這樣的話用你上述的自定函數可以將tempR(1,i)或tempR(2,i)加總起來嗎? ※ 引述《icene (kkk)》之銘言: : ※ 引述《thirteeen (13)》之銘言: : : 請教一下各位,我在excel編輯VBA的程式,如果我自定一個函數, : : 如下面我自定一個SUM的函數,要如何將陣列中的值相加起來, : : 我FUNCTION定義的變數型態是不是錯了?? : : ======================================================= : : Sub g() : : Dim i As Integer : : Dim tempR(1 To 9) As Integer : : i = 2 : : tempR(2) = Array(10, 5, 9, 0, 0, 0, 0, 0, 0) : : Worksheets(1).Cells(10, 10).Value = sum(tempR(i)) : : End Sub : : Function sum(n) As Integer : : Dim p : : For p = 1 To 9 : : sum = sum + n : : Next p : : End Function : 錯很多呢 這樣可能好一點 ~ : Sub g() : Dim tempR As Variant : tempR = Array(10, 5, 9, 0, 0, 0, 0, 0, 0) : Worksheets(1).Cells(10, 10).Value = mysum(tempR) : MsgBox mysum(tempR) : End Sub : Function mysum(n) As Integer : Dim p As Integer : For p = 0 To 8 : mysum = mysum + n(p) : Next p : End Function -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.8.132.39

02/08 12:52, , 1F
Dim tempR(.....) 已經宣告為固定長度陣列了
02/08 12:52, 1F

02/08 12:52, , 2F
不可再指定為任何陣列 ex: Array(.......)
02/08 12:52, 2F

02/08 12:53, , 3F
As Variant 沒有特定的型態 可以指定為任意型態
02/08 12:53, 3F
文章代碼(AID): #15oW6WEs (Visual_Basic)
文章代碼(AID): #15oW6WEs (Visual_Basic)