我是excel VBA的新手,想提问。我有一个带有标题的销售数据。 26行12列。
以下是我的虚拟数据:
我想创建更改货币的按钮。例如,单击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
答案 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