excel vba统计同一行的填充单元格个数,求高速度代码(求助博士)
答案:2 悬赏:0 手机版
解决时间 2021-02-04 09:51
- 提问者网友:暗中人
- 2021-02-03 15:31
excel vba统计同一行的填充单元格个数,求高速度代码(求助博士)
最佳答案
- 五星知识达人网友:西风乍起
- 2021-02-03 16:03
Option Explicit
Sub ygb()
Dim n, i, j, x
n = Cells(Cells.Rows.Count, 4).End(xlUp).Row
For i = n To n - 13 Step -1
x = 0
For j = 4 To 7
If Cells(i, j).Interior.Color = 255 Then x = x + 1
Next j
Cells(i, 1) = x
Next i
End Sub追问
追答你的数据不是提问的样子,所以会出错,请看我的第4行代码:
n = Cells(Cells.Rows.Count, 4).End(xlUp).Row
此行表示获取D列最后一行有数据的行号,里面的4表示D列,如果你的数据在其它列(我估计你是11列,因为你修改j的循环)需要修改。
Sub ygb()
Dim n, i, j, x
n = Cells(Cells.Rows.Count, 4).End(xlUp).Row
For i = n To n - 13 Step -1
x = 0
For j = 4 To 7
If Cells(i, j).Interior.Color = 255 Then x = x + 1
Next j
Cells(i, 1) = x
Next i
End Sub追问
追答你的数据不是提问的样子,所以会出错,请看我的第4行代码:
n = Cells(Cells.Rows.Count, 4).End(xlUp).Row
此行表示获取D列最后一行有数据的行号,里面的4表示D列,如果你的数据在其它列(我估计你是11列,因为你修改j的循环)需要修改。
全部回答
- 1楼网友:行雁书
- 2021-02-03 17:37
Function Count背景色(colAs Range, countrange As Range) As Integer
Dim icell As Range
Application.Volatile
For Each icell In countrange
If icell.Interior.ColorIndex = col.Interior.ColorIndex Then
Count背景色= Count背景色+ 1
End If
Next icell
End Function
Function Count字体色(colAs Range, countrange As Range) As Integer
Dim icell As Range
Application.Volatile
For Each icell In countrange
If icell.Font.ColorIndex = col.Font.ColorIndex Then
Count字体色= Count字体色+ 1
End If
Next icell
End Function
一个是背景色的,一个字体色的,
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯