[VBA ] for each ... in ...

看板Visual_Basic作者 (刃傷沙汰)時間12年前 (2013/03/29 17:08), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/1
各位板大好 我有一個函數有兩個 Range 而我想要每次從一個 Range 取一個值,再從另一個 Range 取另一個值 然後把他相加 ex. R1 = A1:C1, R2 = A2:C2 所求 = A1*A2+B1*B2+C1*C2 試過用 for each ... in ... 寫過,但都不是我要的結果 懇請各位幫忙,謝謝!! 下面是我嘗試寫的,不過是錯的 Function Sum_pair(rng1 As Range, rng2 As Range) sumx = 0 For Each cell In rng1 x = cell.Value Next For Each cell In rng2 y = cell.Value Next a = (x * y) sumx = sumx + a Sum_pair = sumx End Function -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.136.217

03/29 21:37, , 1F
把你的式子跟文件弄上來看看 這樣講聽不太懂
03/29 21:37, 1F
※ 編輯: pLxxoy 來自: 140.113.62.217 (03/29 22:10) ※ 編輯: pLxxoy 來自: 140.113.62.217 (03/29 22:11)

03/29 23:37, , 2F
你這樣用一般的for和cells(i,j)寫會比較好寫
03/29 23:37, 2F

03/29 23:38, , 3F
for each程式會很複雜 而且沒什麼好處
03/29 23:38, 3F

03/29 23:53, , 4F
你寫的東西有內建的函式了阿@@....SUMPRODUCT
03/29 23:53, 4F
文章代碼(AID): #1HLLeU3I (Visual_Basic)
文章代碼(AID): #1HLLeU3I (Visual_Basic)