matrix乘法excel vba数据

我是新的Excel VBA,并想提出问题。 我有一个销售数据标题。 26行和12列。

以下是我的虚拟数据:

虚拟数据

我想创buildbutton来改变货币。 例如点击欧元将数据更改为欧元,然后单击美元将数据更改为美元。

这是我的代码之一的button:

Sub Change_to_EUR()Dim BM_Store_Sales_EUR As Variant Dim BM_Store_Sales_IDR BM_Store_Sales_EUR = Sheet3.Range(Cells(2, 2), Cells(26, 13)).Value BM_Store_Sales_IDR = Application.WorksheetFunction.MMult(BM_Store_Sales_EUR, "$O$1") MsgBox BM_Store_Sales_EUR End Sub 

你可以做这样的事情(不需要matrix)

使用TRUE参数调用Change_Currency将您的范围Change_Currency O1的汇率,并用FALSE(或将其保留为空)分隔

 Sub Button1_Click() Call Change_Currency(True) End Sub Sub Button2_Click() Call Change_Currency End Sub 

 Sub Change_Currency(Optional bEuro As Boolean) Dim ws As Worksheet Dim rng1 As Range Set ws = Sheets(1) Set rng1 = ws.Range(ws.[b2], ws.[m26]) ws.[o1].Copy If bEuro Then rng1.PasteSpecial xlPasteValues, xlDivide Else rng1.PasteSpecial xlPasteValues, xlMultiply End If Application.CutCopyMode = False End Sub