excel vba如何查询某单元格所在行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel vba如何查询某单元格所在行相关的知识,希望对你有一定的参考价值。
工作需要,先请教
1、如何查询包含某文本的单元格所在的行?
2、如何获取这一行第n列至第m列每个单元格的数据?
假设你要查找A列里包含“中国”内容的单元格可以这么写
For i = 1 To Cells(65536, 1).End(xlUp).Row '获取A列最后一个含有数值单元格的位置,并设定循环数
If InStr(Cells(i, 1), "中国") Then '如果单元格中含有“中国”则将行号显示到B列相应的单元格中
Cells(i, 2) = Cells(i, 1).row
End If
Next i
2、获取数据的话可以用“变量=cells(行号,列号)”来获取
不过我对VBA属于初学,肯定还有比我这个跟好的写法,所以写的有什么的不对的地方还请见谅^_^本回答被提问者和网友采纳 参考技术B 没分,不教,哈哈
EXCEL 某单元格不为空时,提取该单元格所在行所有数据到另一个工作表
如上图,第一个工作表里C列有的是空白,有的是记录了员工的出勤情况,现在想把C列所有不为空单元格的所在行全部自动汇总到另一个工作表内。实现下图
用什么公式可以这样自动实现筛选汇总?
=INDEX(C:C,SMALL(IF($C$2:$C$200="",65536,ROW($C$2:$C$200)),ROW(A1)))&""
可以将这个公式,复制到第一个表格D1中先试试看
数组公式,要ctrl+shift+enter三键结束
将其中的单元格,改成你表里的单元格即可
这是提取C列的值,同理,B列、A列公式为
=INDEX(B:B,SMALL(IF($C$2:$C$200="",65536,ROW($C$2:$C$200)),ROW(A1)))&""
=INDEX(A:A,SMALL(IF($C$2:$C$200="",65536,ROW($C$2:$C$200)),ROW(A1)))&""追问
请问65536是什么意思啊
追答65536是最大行,也就是当单元格时空值时,行数=65536,从而在用small排序时,排到最后面
参考技术A 要灵活点,这个用筛选,选择性粘贴比用公式方便。 参考技术B 直接用筛选功能就能实现,筛选所有非空白项目,然后复制到另外一个工作表 参考技术C 用高级筛选 参考技术D 全选把空的点掉就可以了追问我知道可以用筛选,有没有什么公式能自动在另一个工作表里实现,谢谢啦
以上是关于excel vba如何查询某单元格所在行的主要内容,如果未能解决你的问题,请参考以下文章
在EXCEL中 如何用VBA查找某特定单元格并返回该单元格的行和列值?
delphi 更改stringgrid单元格所在行的字体颜色