矩阵乘法excel vba for data

时间:2015-04-17 10:06:47

标签: excel excel-vba vba

我是excel VBA的新手,想提问。我有一个带有标题的销售数据。 26行12列。

以下是我的虚拟数据:

Dummy Data

我想创建更改货币的按钮。例如,单击EUR将数据更改为EURO,然后单击USD将数据更改为USD。

这是我的其中一个按钮的代码:

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

1 个答案:

答案 0 :(得分:0)

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

使用TRUE参数调用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