gpt4 book ai didi

arrays - 努力总结我的数组

转载 作者:行者123 更新时间:2023-12-03 02:31:01 25 4
gpt4 key购买 nike

我正在尝试修复一个子例程,该子例程创建一个包含 10 个整数的数组,以便该数组的每个元素存储其自己的索引号与所有先前索引的总和。 (索引从 1 开始。)数组中的值将是:1, 3, 6, 10, 15, 21, 28, 36, 45, 55

例如,第三个元素中的值 6 是索引值 1 + 2 + 3 的总和。最后我所做的就是将数组的内容复制到范围 A1:J1。

到目前为止我的代码如下:

Sub SumNum()
Dim Ints(1 to 10) As Integer
Dim Sum As Integer
Dim i As Integer
i = 0
For i = LBound(Ints) to UBound(Ints)
Sum = i + Ints(i)
Range("A1").offset(0,1).Value = Sum
Next i
End Sub

从理论上讲,我猜它应该可以解决,因为我有循环并将总和粘贴到每个偏移量,但是这个子程序给了我错误并且无法执行。任何指导将不胜感激!

编辑:当我运行代码时,唯一的输出是值 10 的 B2。奇怪!

最佳答案

Range("A1:J1").Formula = "=(COLUMN()*(COLUMN()+1))/2"

这里需要注意两件事:

  • 您可以直接将范围分配给数组,而无需循环。也就是说,在计算数组之后,您可以说myRange.Value = myArray。如果范围是列,则需要转置数组。

  • 上述代码利用了一个已知的数学公式:1+2+3+...+n = (n(n+1))/2。它不需要计算任何数组。该公式应用此方程并从每个单元格的 Column 属性中获取索引。

希望这有帮助。

关于arrays - 努力总结我的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43381997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com