excel vba中match函数的运用问题?

如图只是想在VBA 中用match函数查下行数,其实 range.find方法更好,单里面怎么工作表查询区域怎么写都都对,搞不明白,就像吃饭吃到苍蝇。来位大大解决下。里面的区域要怎么写才能通过。

第1个回答  2019-12-23

结果是 8

Sub aa()

MsgBox WorksheetFunction.Match(40, Sheets("工作").Range("A:A"), 0)

End Sub

第2个回答  2019-11-22
亲你好,你这Application.Match是不对的哦。
你可以写成Application.WorksheetFunction.Match
或者写成WorksheetFunction.Match把Application.省略掉追问

报错的不是这里,是sheets到a:a这里,
简单点就是查询区域的语法不对

追答

更正一下,有三个错误。
第一个,就是前面说的那个。
第二个,就是叹号,应该是小数点。
第三个,是range("a:a")是不对的,
用range表示的是单元格或者区域范围,你得加行号啊,不能只用列号。
比如range("a1:a10")
只用列号也行,但是不能用range,可以用Columns("A:A")

完整代码如下:
Sub shishi()
MsgBox WorksheetFunction.Match(40, Sheets("工作").Columns("A:A"), 0)
End Sub

本回答被提问者和网友采纳
相似回答