+ -
当前位置:首页 → 问答吧 → 请问下面的代码错在哪里

请问下面的代码错在哪里

时间:2011-08-03

来源:互联网

为何不循环
Sub 统计a1到a12里有多少个10用数组()
Dim arr(), myr, k, x
myr = Range("a65536").End(3).Row
arr = Range("a1:d" & myr)
For x = 1 To UBound(arr)    '从第1行开始循环到第12行
If arr(x, 1) = 10 Then      '如果单元格(第1行,第1列)的数 = 10 则执行
k = k + 1                     '计数 + 1
Next x          '继续循环 x 一直循环 到 a列的 最后一行
Range("d2") = arr     '把 arr 的值 显示到 d2 单元格里
End Sub
谢谢

作者: qhllqhll   发布时间: 2011-08-03

请上附件。
If arr(x, 1) = 10 Then      '如果单元格(第1行,第1列)的数 = 10 则执行
k = k + 1                     '计数 + 1
好象少了 end if

Range("d2") = arr     '把 arr 的值 显示到 d2 单元格里
这什么意思,都是数组的第一个数呀。arr(1,1)...

作者: jiminyanyan   发布时间: 2011-08-03

引用:
原帖由 jiminyanyan 于 2011-8-3 19:14 发表
请上附件。
If arr(x, 1) = 10 Then      '如果单元格(第1行,第1列)的数 = 10 则执行
k = k + 1                     '计数 + 1
好象少了 end if

Range("d2") = arr     '把 arr 的值 显示到 d2 单元格里
这 ...
谢谢老师 加了 end if
也不行 请指点

附件

for 测试.rar(7.04 KB)

2011-8-3 19:49, 下载次数: 1

作者: qhllqhll   发布时间: 2011-08-03

Sub 统计a1到a12里有多少个10用数组()
Dim arr(), myr, k, x
myr = Range("a65536").End(3).Row
arr = Range("a1:d" & myr)
For x = 1 To UBound(arr)    '从第1行开始循环到第12行
  If arr(x, 1) = 10 Then      '如果单元格(第1行,第1列)的数 = 10 则执行
     k = k + 1    '计数 + 1
  End If
Next x          '继续循环 x 一直循环 到 a列的 最后一行
Range("d2") = k    '把 arr 的值 显示到 d2 单元格里
End Sub

作者: dragonthree   发布时间: 2011-08-03

相关阅读 更多