如何用vba在excel表格的限定范围内查找某一值,并返回该值所在的列。 10
展开全部
sub a()
dim rng as range,rngSearch as range
dim vl as string
set rng=range("A1:B100")
vl="AAA"
set rngSearch=rng.find(what:=vl)
if not rngSearch is nothing then msgbox vl.column
end sub
追问
我水平比较差没看懂。能具体吗?比方说excel名为a,excel中的sheet名为b,要查找sheet中的1到100行,1到100列中的“qq”字符串所在的位置并返回“qq”所在列的“aq”的位置
追答
sub a()
dim rng as range,rngSearch as range
dim vl as string
'set rng=range("A1:B100")'定义区域为A1到B100
set rng=worksheets("b").[a1].resize(100,100)'100列不知道对应的列好懒得数了,这里用resize
'或者可以用set rng=worksheets("b").range([a1],cells(100,100),这样也是100行100列
vl="qq"
set rngSearch=rng.find(what:=vl)'在刚才定义的rng区域里查找vl字符串
'if not rngSearch is nothing then msgbox rngSearch.column'如果找到了,就返回列号
if not rngSearch is nothing then msgbox split(rngSearch.address(1,0),"$")(0)'你的要求是字母列号,所以用address返回地址,然后分割$获取字母列号
end sub
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询