永发信息网

请问如何修改如下VBA代码计算出大于>0,小于<10的连续个数?

答案:2  悬赏:80  手机版
解决时间 2021-03-20 11:52
请问如何修改如下VBA代码计算出大于>0,小于<10的连续个数?
最佳答案
已经可以了,只是显示的位置都在最后,是要增加颜色吗追问可是我执行后结果不对,你帮我修改一下吧,谢谢!不用加颜色的。追答选中数字以后执行,你看下行不行,我这边看好像没问题追问我执行后的结果,还有就是如果有负数或有零的时候,也计算出错误?
追答两个地方,一个是把第一个for的+1去掉,第二个是在第一个next i后面增加一行    aa(K) = x。
还有就是优化建议,显示结果可以移到第一个for里面,黄色字体的旁边,这样看起来也醒目,还能减少一个60000次的循环。
Sub 小于10的连续个数()
    Set Rng = Selection(1)
    a = Rng.Row
    b = Rng.Column
    Set Rng = Selection(Selection.Count)
    c = Rng.Row
    For i = a To c
        If Cells(i, b) < 10 Then
            Cells(i, b).Interior.ColorIndex = 6
            x = x + 1
        Else
            If x <> 0 Then
                Cells(i - 1, b + 1) = x
            End If
            x = 0
        End If
    Next i
    Cells(i - 1, b + 1) = x
End Sub追问运行可以。可是我想把计算出的结果集中起来,而不是分散数值。能再修改一下吗追答如果结果要集中,只在原来代码基础上,按我说的改那两个地方就可以了
全部回答

选中你的数据区,然后执行代码

Sub test()
Dim Arr, i As Integer, j As Integer
Arr = Selection: j = 0
For i = 1 To UBound(Arr, 1)
    If Arr(i, 1) > 0 And Arr(i, 1) < 10 Then
        j = j + 1: Arr(i, 1) = j
    Else
        j = 0: Arr(i, 1) = ""
    End If
Next
Selection.Offset(0, 1) = Arr
End Sub
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
既然是李连杰佛教徒 ,那么为什么拍那么多武
鱼缸过滤器把水冲的翻滚算不算加氧呢
周氏专业按摩这个地址在什么地方,我要处理点
利郎裤子货号怎么区别档次
《八卦》艮为山.详解
要一篇借花喻人的作文,
AVR单片机串口代码while(!(UCSR0A&(BIT(UDRE0
用poss机2个点手续费?假如2千要多少?
莲蓬在哪一个季节生长
电脑屏幕尺子怎么用 电脑屏幕尺子使用注意事
作文素材 冷门,小众
自动获取的ip地址不稳定,会跳到其他网段
形近字有哪些
阳历两千年一月二十二阴历
三价铁和酶降低活化能的途径是怎么样不同?谢
推荐资讯
江苏省国家安全厅存在吗?具体地址我查过南京
怎么才能让大脑高速运转?
打石岭怎么去啊,有知道地址的么
苏泊尔电磁炉间歇性加热
急寻阜阳天伦皇朝技师李英联系方式?
我念大学户口农转非,毕业后可以非转农吗?
在西班牙买loewe便宜么?
2005超级女声名字是四个字的是谁
真的很讨厌现在的工作,,,,,,很讨厌很讨
小区公共照明费包括哪些?
泡上美女总裁5节什么时间发
叶脉有什么功能?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?