excel VBA和宏写代码实现数据读取和计算。

具体私密!
第一个图是中间2个0,不计数。

问题补充下,往大神能解决,现在的问题是在excel的M列中由1和0组成,当出现连续的1的时候从最后一个开始记起,到下一个1出现,记下两个1之间0的个数n,如果n小于6的话不做记载,也就是中间的0的个数小于6的话就不算,大于6的话开始判断,当n大于360的时候,记为1,当m小于360大于6的时候,记为0,一直运行完到这一行数据,求出现n大于360的次数。也就是记了多少个1,然后把这一列出现1的单元格用填充为别的颜色,具体什么颜色无所谓。

其实就是两个操作。

1、统计M列,区域:连续360个以上的单元格都为0,这样的区域总共有多少个?

2、将M列所有数字为1的单元格,填充色改为其它颜色(例如红色)。

相应完整VBA代码如下:


Sub count01_by_zzllrr()
    Dim n, n0, n1, i, v
    n = 0
    n0 = 0
    n1 = False
    If Range("M1") = 0 Then
        n0 = 1
    End If
    
    For i = 2 To Columns("M:M").Find("*", , , , 1, 2).Row
        v = Range("M" & i)
        If v = 1 Then
            Range("M" & i).Interior.Color = 255
            If n0 > 360 Then
                n = n + 1
            End If
            n0 = 0
            
            If Not n1 Then
                n1 = True
            End If
            
        Else
            
            If n1 Then
                n0 = n0 + 1
            End If
            
        End If
    
    Next i
    Range("N1") =n
    MsgBox ("总共" & n & ",且已填写在单元格N1")
End Sub

追问

貌似有点问题,我不知道是我的问题还是你的代码问题,我是先读出txt文件的数据,然后得到这些1,0.然后运行了出现以下错误,我把i改为了m,因为我上面代码用过了。m = 3,数据从第三行开始的。

这张图是我点击我自己设置的读取数据按钮,然后运行就出现这错误。

这个是我点运行提示的错误,搞的有点糊涂,

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-09
把表发我邮箱,举例说清楚目的与要求,看能否解决你的问题。[email protected]追问

上面的问题能解决吗大神。。。

本回答被网友采纳
第2个回答  2014-11-09
愿闻其详。[email protected]追问

上面的问题能解决吗大神。求给力。

追答

实现起来应该不难。只是我得详细了解你的过程。还有你说的txt文件里的数据是填到这里的M列中吗?你图中的9与11要填到什么地方啊?

我把你发给我的文件改了一小下下,你再试试,已经发回到你的邮箱中了。

相似回答