Excel VBA求助:如何查找特定内容的单元格?

Excel VBA求助:如何查找特定内容的单元格?如AX列中第5行开始至1000行,里面含有很多个和BA2单元格内容相同的单元格,如何查找AX列中第一个(行数最小的)和BA2单元格内容相同的单元格,并输出该单元格的行号。

有多种办法,常用以下三种方法:
1、用Fund方法
R = Range("AX5:AX1000").Find(Range("BA2"), , , 1).Row
2、使用工作表函数容器中的Match函数
R = Application.WorksheetFunction.Match(Range("BA2"), Range("AX5:AX1000"), 0) + 4
3、用循环比较的方法(代码略)追问

非常感谢!
我想问一下第二种方法后面+4是什么意思?
还有我开始用的就是for循环方法,BA2单元格内容是“8\14\2017”,在AX列确实有好几个单元格和BA2单元格内容相同,可就是查找不出来相同,请问是跟这个单元格内容有关系吗,在写程序的时候单元格后面加了.Value

追答

+4的因为从AX5开始查找,5就查出的第一行,+4后就得到实际的行号
你用循环比较时,单元格如果是日期格式,用字符串比较就只能用.Text,如果要比较值,则两边都必须是日期型数据,如果一边是文本数据,一边是日期数据,则要先进行转换再比较。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-09-12

Sub a()

Dim a

For a = 5 To 1000

If Cells(2, 53) = Cells(a, 50) Then

MsgBox a

Exit For

End If

Next

End Sub

相似回答