【发布时间】:2018-03-26 11:19:03
【问题描述】:
好的...下面的行将数组 myArr 的内容放在单元格 A1 中
sh.Range("A1").Resize(cnt, 7).Value = myArr
以下是上述行输出的一些示例记录
18 5 1 23 15 7 6
23 5 3 10 18 20 15
19 10 25 12 21 15 23
10 14 11 9 7 25 20
24 15 23 20 11 17 2
7 15 3 16 24 22 13
14 4 15 13 6 23 2
20 11 22 24 14 3 6
17 5 13 15 19 6 22
9 13 15 7 24 3 6
在此行之前,我需要一个条件,但不知道如何编写语法。
我想将第一个元素 (lbound) 的所有 7 个值相加并检查总和并对所有元素执行此操作,直到 (ubound)。如果总数等于 100,则仅运行上述行
解决第一个查询后,我还有一个第二个查询,仅列出总数为 100 的元素的数量、总和为 80 的元素数量以及依此类推......通过添加另一个从第一个数组获取信息的数组。计数将在 75 到 125 之间。预期输出应为
75 1
76 0
77 2
.
.
.
125 1
这就是我正在尝试的
Sub foo()
Dim myArr(1 To 10)
Dim cnt As Integer, i As Integer
myArr(1) = "18,5,1,23,15,7,6"
myArr(2) = "23,5,3,10,18,20,15"
myArr(3) = "19,10,25,12,21,15,23"
myArr(4) = "10,14,11,9,7,25,20"
myArr(5) = "24,15,23,20,11,17,2"
myArr(6) = "7,15,3,16,24,22,13"
myArr(7) = "14,4,15,13,6,23,2"
myArr(8) = "20,11,22,24,14,3,6"
myArr(9) = "17,5,13,15,19,6,22"
myArr(10) = "9,13,15,7,24,3,6"
For i = 1 To UBound(myArr)
With Application.WorksheetFunction.Sum = .Sum(.Index(myArr, i, 0))
'if ....
'....
'endif
End With
Range("A1").Resize(cnt, 7).Value = myArr
End Sub
【问题讨论】:
-
向我们展示您到目前为止编写的代码,并告诉我们您遇到的问题。
-
按元素是指行吗?如果循环行是每行 = 100 还是每行总计 = 100?后者似乎更有意义。一些示例数据会有所帮助。
-
感谢您的回复。该代码与我面临的问题无关。我在工作表中得到了 A1:G250 范围内的结果,这是问题中提到的行的输出。我唯一的问题是,不是只填充 250 行,而是只填充总行数为 100 的几行。
-
是的......按元素,我的意思是行。 A1:G1 的总和应该是 100。如果不是,则不要列出它。我想在阵列准备好甚至在工作表中列出之前执行此操作。第二个查询是,不是列出值,而是列出与其值对应的每一行的总和。我希望我已经解释清楚了。
-
我已添加示例数据供您参考
标签: vba excel excel-2010 excel-2007