|
Sub 计算新鸟按月()
Dim x As Long, i As Long, h As Long, m, arr(1 To 13, 1 To 1)
With Sheet2
i = Sheet2.Range("Q65536").End(xlUp).Row
For x = 4 To i
If .Cells(x, "ac") <> 0 And .Cells(x, "K") = 0 And .Cells(x, "N") = 0 And .Cells(x, "Q") = 0 And .Cells(x, "T") = 0 And .Cells(x, "W") = 0 And .Cells(x, "Z") = 0 Then
m = Month(.Cells(x, "Y")) '原 j P17=S18 计算月份
arr(m, 1) = arr(m, 1) + 1 '月份统计个数
arr(13, 1) = arr(13, 1) + 1 '总数
End If
Next x
End With
Sheet6.Range("L5").Resize(13, 1) = arr
' Sheet6.Cells(27, "j") = h
' Sheet6.Range("J30") = h
MsgBox "执行完毕!"
End Sub
这段程序是,计算“分类统计”表中K、N、Q、T、W、Z、AC列里出现的新鸟,AC列不为0,K、N、Q、T、W、Z列为0,则判为新鸟,去年统计正常,2021年新增加AC列,计算不出按月份的数据,不知是为什么,是不是列数超过Z以后就不能用了,请高手老师给予解惑。谢谢~!
本帖最后由 砂海 于 2022-1-24 10:01 编辑
With sheets("表名称") ' 可读性会好很多
=======================================
连续 用 And 不容易 判断
以下 方法直观些 , 供参考:
......
Dim 列信息, temp, 总判断 As String, 判断 As String
列信息 = Array("ac", "k", "n", "q", "t", "w", "z")
.....
For Each temp In 列信息
判断 = IIf(.Cells(x, temp), "是", "非")
总判断 = 总判断 & 判断
Debug.Print 总判断 '可以注释掉
Next temp
If 总判断 = "是非非非非非非" Then
.......
|
|