|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
原帖由 gwfzh 于 2010-12-30 13:23 发表
不是又要建立一个循环吗?现传上代码和附件,请老师更正!
在下面程序中如何用粉红色语句部分取代砖红色语句部分?即如何用brr(2 * (Int((m) / 2)), r) 取得数组brr的4,6,8,10偶数行数组:具体要求见附件问题三 ...
这个问题三,不用那么复杂!分析了一下,直接用数组解决,请测试
漏报分类统计123.rar
(44.27 KB, 下载次数: 15)
- Private Sub CommandButton1_Click()
- Dim i&, j&, n&, Arr, Brr()
- Range([a4], [a65536].End(3)(2, 10)).ClearContents
- With Sheets("调查登记表")
- Arr = .Range(.[a4], .[a65536].End(3)(1, 21))
- For i = 1 To UBound(Arr)
- If Arr(i, 21) = "" Then
- n = n + 1
- For j = 1 To UBound(Arr)
- If Arr(i, 2) = Arr(j, 2) Then
- Arr(i, 21) = j: Arr(j, 21) = j
- ReDim Preserve Brr(1 To 10, 1 To n)
- Brr(2, n) = Brr(2, n) + 1
- Brr(3, n) = Brr(3, n) + Arr(j, 18)
- Brr(5, n) = Brr(5, n) + Arr(j, 19)
- Brr(7, n) = Brr(7, n) + Arr(j, 20)
- Brr(9, n) = Brr(9, n) + Arr(j, 14)
- End If
- Next j
- Brr(1, n) = Arr(i, 2)
- Brr(4, n) = Round(Brr(3, n) / Brr(2, n), 2)
- Brr(6, n) = Round(Brr(5, n) / Brr(2, n), 2)
- Brr(8, n) = Round(Brr(7, n) / Brr(2, n), 2)
- Brr(10, n) = Round(Brr(9, n) / Brr(2, n), 2)
- End If
- Next i
- End With
- [a4].Resize(UBound(Brr, 2), 10) = Application.Transpose(Brr)
- n = [a65536].End(3).Row + 1
- Range("a" & n).Value = "合计"
- Range("b" & n & ":i" & n).Formula = "=SUM(R[-25]C:R[-1]C)"
- Union(Range("d" & n), Range("f" & n), Range("h" & n), Range("j" & n)).Formula = "=rc[-1]/r" & n & "c2"
- End Sub
复制代码 |
|