excel vba列查找内容,横计算值(求助大师)从下往上查找

1。vba从下往上查找
2。最下面的第一行为条件
3。最下面的第三行起——至——最下面的第十二行(从下往上查找)查找同列相同内容,填充颜色
4。同行计算有填充颜色单元个数(如H列结果)

函数: sum((k36:p36=$k$47:$p$47)*1) 数组三键
vba简单点两个循环
sub text()
for x =36 to 45
for y = 11 to 16
if cells(x,y)=cells(47,y) then k = k+1
next
cells(x,"h")=k
k=0
next
end sub追问

if cells(x,y)=cells(47,y) then k = k+1这里可不可以修改为最后显示行
for x =36 to 45这里可不可以修改以最后显示行算起

追答

不清楚你的问题 你是要45 to 36 step -1?还是要 r=range("xxx").end(3).row

追问

要 r=range("xxx").end(3).row这种

追答

依你上面的图 for x =36 to range("k65536").end(3).row-2

追问

for x =range("k65536").end(3).row-11 to range("k65536").end(3).row-2
可不可以这样子写

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-07
条件格式填充颜色
公式计算重复数
不需要VBA追问

VBA

追答

Sub 按钮1_Click()
Dim I As Integer
Dim J As Integer

For I = 57 To 66
Cells(I, 8) = 0
Next
For I = 57 To 66
For J = 11 To 16
If Cells(I, J) = Cells(68, J) Then
Cells(I, J).Interior.ColorIndex = 6
Cells(I, 8) = Cells(I, 8) + 1
End If
Next
Next
End Sub

追问

 For I = 57 To 66

如上图如果我是71 To 80是不是要每一次都要修改代码?

效果不错

我意思是从下往上来确定范围

 For I = 57 To 66可以修改成下面的吗?

For I =range("k65536").end(3).row-11 to range("k65536").end(3).row-2

可不可以这样子写

追答

可以通过判断“条件”所处的单元格来定位
dim C_Row as interger
C_Row=0

for i=1 to 65535
if cells(i,1)="条件" then

C_Row=i
exit for
end if
next

剩下的就是把上面程序数值修改了

相似回答