大家好:繼liitle問題:VBA陣列乘法,按元素沒有循環
Option Base 1
Sub Test()
Dim aa() As Integer
Dim bb() As Integer
ReDim aa(3)
ReDim bb(3)
For j = 1 To 3
aa(j) = j * 2
bb(j) = j * 3
Next j
End Sub
現在,我要做的只是小東西乘以兩個一維數組的elementwise不循環,然後卸載這個新的數組(6,24,54)在一個範圍內。我相信這一定很容易實現。我會看到的一個解決方案是創建一個對角矩陣(數組),然後使用mmult,但我確信這是非常簡單的方法。謝謝您的幫助。
所以這是Excel? – brettdj 2012-03-10 10:57:09
循環是唯一的方法 - mmult會在內部循環它的矩陣 - 在你的例程中做什麼是反對意見? – 2012-03-10 11:48:29
嗯,我有一個在一個工作表中的行中的幾個值,在另一個工作表的一列中的幾個值,與vba我想他們乘以元素和卸載他們在第三張表....我習慣了Matlab/R,所以我認爲最有效的方法是將值讀入數組,然後執行元素乘法...因此我將在這種情況下進行循環。但是你知道在Range類中應用乘法運算會更快嗎?或者首先將數據加載到數組中,執行計算然後再將它們推回到某個範圍是可行的? – Eva 2012-03-10 14:07:18