如何为Excel范围内的元素设置值

问题描述 投票:0回答:1

我正在尝试用 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

根据该结果计算出我需要进行的其他计算,但我坚持这一步以继续前进。任何帮助将不胜感激

excel vba syntax
1个回答
0
投票

您可以返回修改值的数组:

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
© www.soinside.com 2019 - 2024. All rights reserved.