我正在尝试用 VBA 编写一个函数,以便在 Excel 文件的多个部分中使用。该函数应接收选定的范围并将该范围中的每个元素乘以 1.13,然后返回包含新总计的范围。
我已经对接收和返回范围的函数进行了测试,我成功地从应用乘法的范围中提取了我想要的值并将结果设置为变量。但我似乎无法设置范围内元素的值(我什至尝试在函数内声明一个临时范围,但无济于事)我很确定这应该很容易,但我不是明白了。
Public Function STax(Range1 As Range) As Range
Dim Index
For Index = 1 To Range1.Count
Range1(Index).Value = Range1(Index).Value * 1.13
Next Index
STax = Range1
End Function
我想要一个名为 STax 的函数,我可以在其中调用 excel 文件 =STax(A1:A15),它只会给我每个值乘以 1.13。前
范围 | 税收 |
---|---|
14.15 | 15.99 |
13.26 | 14.98 |
35.39 | 39.99 |
22.11 | 24.98 |
根据该结果计算出我需要进行的其他计算,但我坚持这一步以继续前进。任何帮助将不胜感激
您可以返回修改值的数组:
Public Function STax(Range1 As Range) As Variant
Dim arr, i As Long
arr = Range1.Value 'read input range to array
For i = 1 To UBound(arr, 1) 'loop array
arr(i, 1) = arr(i, 1) * 1.13 'modify values
Next i
STax = arr 'return array
End Function