我在Excel中有兩個相同大小的範圍,我想用vba將它們乘以另一個範圍。例如: 範圍1:Sheets("A").Range("A1:H200")
範圍2:Sheets("B").Range("A1:H200")
然後我需要:將兩個範圍相乘的最快方法
Sheets("C").Range("A1:H200")= Range 1 * Range 2
即,我需要薄片C中的每個單元是相同的單元在表格A和B
乘法我在Excel中有兩個相同大小的範圍,我想用vba將它們乘以另一個範圍。例如: 範圍1:Sheets("A").Range("A1:H200")
範圍2:Sheets("B").Range("A1:H200")
然後我需要:將兩個範圍相乘的最快方法
Sheets("C").Range("A1:H200")= Range 1 * Range 2
即,我需要薄片C中的每個單元是相同的單元在表格A和B
乘法這將做到這一點幾乎是立刻:
Sheets("C").Range("A1:H200") = [INDEX(A!A1:H200*B!A1:H200,0)]
如果範圍是由vba變量定義的,我該如何使用這段代碼? –
我的意思是最後一行由一個vba變量定義('Range(「A1」).End(xlDown).Row') –
表格(「C」)。Range(「A1:H」&lastrow)= Application .Evaluate(「INDEX(A!A1:H」&lastrow&「* B!A1:H」&lastrow&「,0)」)' –
也許最快的是使用Sub來操作C
中的單元格公式。
試試這個,你的想法...
Option Explicit
Sub FillFormula()
Worksheets("C").Range("A1:H200").FormulaR1C1 = "=A!RC*B!RC"
End Sub
'evaluate'可能是最快的,但我不知道XD陣列應該是緊隨其後? – findwindow
研究編寫公式的R1C1方法 - 簡而言之,R1C1將公式*寫入相對於它在*中的單元格。這將允許您選擇您的範圍併爲所有單元格輸入「相同」公式。 –
您輸入2個二維表作爲乘法。這可以用多種方式解釋。你在談論矩陣乘法嗎?請詳細說明您的預期結果。 – nbayly