2022-08-15 01:14来源:m.sf1369.com作者:宇宇
其实就是两个操作。
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
请查收附件。代码如下e78988e69d。
Sub tq()
Dim r, n As Long
Dim rg As Range
Dim BGArr
r = Range(A & Rows.Count).End(xlUp).Row
BGArr = Range(B1:G & r)
n = Mid(Range(A & r), 2, 1)
For Each rg In Range(A1:A & r)
BGArr(rg.Row, 1) = --Left(rg, 1)
BGArr(rg.Row, 2) = --Mid(rg, 2, 1)
BGArr(rg.Row, 3) = --Right(rg, 1)
BGArr(rg.Row, 4) = --Right(BGArr(rg.Row, 1) + n, 1)
BGArr(rg.Row, 5) = --Right(BGArr(rg.Row, 2) + n, 1)
BGArr(rg.Row, 6) = --Right(BGArr(rg.Row, 3) + n, 1)
Next
Range(B:G).ClearContents
Range(B1:G & r) = BGArr
End Sub